Коллеги, словил странный глюк. Пытаюсь собрать бутлоадер для ATXmega128A1 отсюда:
https://github.com/bandtank/Xmega_BootloaderПеренес проект в Atmel Studio, собрал, получился файл, который я прикрепил к сообщению. Настройки, исходно передаваемые из makefile, указал в опциях проекта через задание дефайнов для компилятора, ассемблера и линкера.
Проблема в том, что, когда я прошиваю его из той же самой Atmel Studio через AVRISP mkII, файл шьется не целиком, а только до смещения 0xC00, т.е., до адреса 0x20C00. Дальше в памяти пусто (0xFF), хотя в файле данные есть. Это выявляется при верификации памяти. Если потом прочесть память и посмотреть ее содержимое, проблема подтверждается.
Смещение бутлоадера правильное, 0x20000 в байтах/0x10000 в словах. Но даже если я указываю линкеру .text начиная с нуля, программатор все равно упорно заливает до смещения 0xC00, то есть, теперь уже до адреса 0x00C00.
Все остальные файлы шьются нормально, включая основную прошивку, гораздо большую по размеру (~50 кБ). Конкретно из этого файла упорно прошиваются только первые 0xC00 байт.
Проверял на двух физически разных платах.
Всю голову сломал уже. Может кто подскажет, в чем может быть дело?
- Вложения
-
- XMegaBootloader_AS6_custom_proj.hex
- (9.15 KiB) Скачиваний: 14