Hello world.   LGT8F328P.   AVRA.

Hello world.

 

1. Скачайте проект HelloworldAVRA.

 

2. Измените в файле start.bat программатор, порт, скорость. Для редактирования файлов можно использовать редактор Geany. Проект собран на компьютере с Windows. С Linux также не должно возникнуть затруднений, т.к. в проекте используются кроссплатформенные программы, такие как ассемблер AVRA 1.4.2, AVRdude 7.3, Geany.

Файл start.bat запускает сборку проекта ассемблером, затем прошивку контроллера программой AVRdude.

 

5. Измените тактирование в файле main.asm
int_osc32 - Внутренний генератор 32МГц, частота тактирования 32МГц.

int_osc16 - Внутренний генератор 32МГц, предделитель 2, частота тактирования 16МГц.

ext_osc  - Источник тактирования внешний высокоскоростной кварц.

 

6. Функции и макросы

clear_first - очистка некоторых регистров. Если в программе реализована софтовая перезагрузку, не достаточно просто перейти на нулевой адрес, также необходимо очистить некоторые регистры.

wdt_off - отключение сторожевого таймера.

e2prom_1k - инициализация E2PROM 1KByte

e2prom_2k - инициализация E2PROM 2KByte

Использование E2PROM в lgt8f328p имеет смысл только при переносе проекта с другого контроллера на lgt8f328p. Если проект пишется с нуля, лучше использовать внешнюю память 24с32-24c256.

 

7. Если в контроллер записан загрузчик, который находится в конце флеш памяти, можно подстраховаться и разместить перед загрузчиком пару байт. Так ассемблер предупредит вас о ошибке, если код разростется и залезет в занятую область флеш памяти.

 

.org    0x39ff  
        flashend

 

8. Подключите светодиод к порту PB5, через резистор. Подключите программатор к микроконтроллеру.

 

9. Ассемблер и дудка находятся в каталоге проекта. Остается запустить start.bat и наслаждаться миганием светодиода.