- Перейти к Свойства проекта (Alt + F7)
- Выбрать Набор инструментов
- Выбрать AVR / GNU Linker -> Настройки памяти
- в разделе «Сегмент FLASH» нажмите кнопку «Добавить элемент» и введите:
.text = 0xF000
(UPD) Обратите внимание, этот адрес указан в словах , т. Е. Если вы хотите установить загрузчик 8 КБ на устройство 128 КБ (смещение байтов 0x1E000), то смещение слова будет 0xF000 . Загрузчик 4 КБ на устройстве 32 КБ будет иметь размер 0x3800 и т. Д.
нажмите OK и скомпилируйте проект. Он сообщит компоновщику, где находится начальный адрес основного раздела кода.
Кстати, будьте осторожны при использовании pgmspace.h в загрузчиках на устройствах> 64k, так как константы во флэш-памяти, которые обычно помещаются в младшие 64К, теперь будут размещаться и в верхних адресах и может быть недоступен при использовании обычных pgm_read ... макросов. В этом случае используйте pgm_get_far_address и pgm_read _..._ far макросы.