AVRA — это ассемблер для микроконтроллеров AVR, с открытым исходным кодом, написанный на C99.
AVRA создает coff файл каждый раз, когда сборка проходит успешно. Это дает возможность использовать отладчик.
Поддержка гибких макросов, позволяет расширить возможности повторного использования кода, например, создания собственной библиотеки. Если вы знакомы с языком программирования C, вы должны легко освоиться с AVRA.
AVRA можно скомпилировать в Linux и Windows.
1. Скачать исходники с github
https://github.com/Ro5bert/avra
2. Добавить lgt8f328p в список микроконтроллеров.
В файле device.c, в списке struct device device_list[] добавить строчку
{"LGT8F328P" , 16384, 0x100, 2048, 1024, DF_NO_EICALL|DF_NO_EIJMP|DF_NO_ELPM|DF_NO_ESPM},
Порядок заполнения полей: название, размер flash-памяти (в словах), RAM start, размер ОЗУ (в байтах), размер EEPROM (в байтах). ВАЖНО: РАЗМЕР FLASH-ПАМЯТИ УКАЗАН В СЛОВАХ, А НЕ В БАЙТАХ.
Т.К. eeprom эмулируется, отъедая часть flash памяти, можно сделать несколько вариантов контроллера, с различными размерами flash и eeprom.
3. Скопировать заголовочный файл lgt8f328Pdef.inc в каталог includes.
4. Компиляция в Linux
Чтобы собрать исполняемый файл avra, перейдите в корневой каталог проекта и запустите
make
Будет создан двоичный файл. Вы можете его установить с помощью
make install
5. Компиляция в Windows
Чтобы собрать исполняемый файл avra в Windows необходимо установить Codeblocks и mingw.
https://www.codeblocks.org/downloads/binaries/
Скачать и установить codeblocks-20.03mingw-setup.exe
В CodeBlocks создать проект Console application, выбрать компилятор GNU GCC Compiler, удалить созданный файл main.c. Затем скопировать в каталог проекта все файлы из avra 1.4.2\src\ с расширением .c и .h. Добавить файлы в проект. Скомпилировать проект (Нажать в главном меню Build-Build). Исполняемый файл avra.exe будет лежать в каталоге проекта bin\Release.
6. Готово