В прошлой статье я описывал подключение компилятора Avr к IDE Lazarus, но у меня не работало автодополнение кода (при нажатии ctrl+пробел появляется выпадающее меню с вариантами кода). Спустя 29 дней разборок я добился корректной работы автодополнения. Что бы отделить "мух от котлет" (не все используют fpcupdeluxe) я решил вынести описание работы с fpcupdeluxe в отдельную статью.
Микроконтроллеры: AVR (ATmega328p); Среда программирования IDE Lazarus (кросс-платформенный 32х) (ОС: Windows 64х).
Основная цель fpcdeluxe - предоставить средства для автономной установки и обновления нескольких версий FPC и Lazarus (и другого кода под всевозможные ОС). Автономный означает, что установка с помощью fpcupdeluxe не будет иметь никакого влияния (вмешательства) в вашу систему: следовательно, вы можете установить несколько версий FPC и Lazarus.
-
Скачиваем последний релиз fpcupdeluxe соответствующей ОС для своей системы "fpcupdeluxe-x86_64-win64" или "fpcupdeluxe-i386-win32" отсюда, именно той разрядности которой установлен Ваш IDE Lazarus (лично у меня всё заработало когда я для Lazarus 32x скачал fpcupdeluxe win32!);
-
Запускаем fpcupdeluxe. Определяем родительскую директорию, куда будут скачаны исходники и собраны бинарные файлы (напр., c:\fpcupdeluxe\);
-
Устанавливаем FPC. Сначала, после нажатия на кнопку "Setup+", устанавливаем галочки и выбираем разрядность процессора и ОС соответствующие уже установленному Lazarus (у меня Lazarus 32х). Далее, на вкладе "Basic" можно нажать на "Only FPC" или "Install/update FPC+Lazarus" (должен установить FPC и Lazarus (тогда можно один Lazarus использовать для микроконтроллеров, а стандартный - для простых приложений), но Lazarus у меня не установился):
-
Компилятор для AVR. На вкладке "cross" устанавливаем CPU - "AVR" и OS - "embedded". По кнопке "Set subarch" устанавливаем целевой процессор "Select Subarch" - avr5 (для ATmega8 - avr4);
Скачиваются необходимые файлы из интернета, а потом автоматически собирается компилятор для avr.
-
Дополнительно, по кнопке "Setup+", на вкладке "CPU/OS" устанавливаем CPU - "AVR" и OS - "embedded";
-
на вкладке "Subarch" установить целевой процессор - avr5 и закрыть диалоговое окно - "Ок";
-
На вкладке "cross" нажимаем кнопку "Install compiler" - запустится процесс скачивания необходимых файлов для сборки компилятора ppcrossavr.exe и файлов для микроконтроллера (*.ppu др. файлы, а также в каталоге появится папки "cross" с подпапками "bin", "lib" и др. папки).
-
В процессе закачки и последующей сборки fpcupdeluxe ругнется на отсутствие утилит для сборки кросс-компилятора и предложит их скачать ("The building of a crosscompiler failed due to missing cross-tools. Fpcupdeluxe can try to download them if available! Do you want to continue?"):
соглашаемся и повторяем процесс сборки.
-
В папке "C:\fpcupdeluxe\fpc\bin\i386-win32\" появится кросс-компилятор ppcrossavr.exe.