Страница 1 из 1

AVR Studio bootloader + main code

Добавлено: Ср сен 28, 2016 23:50:58
yaz
Есть два отдельных проекта в студии.
1. Загрузчик
2. Сама программа для устройства.
Как их объединить в студии, чтобы компилировался сразу один hex с прошивкой и загрузчиком.
Где-то в интернете видел такое решение, но сей час не могу найти.

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

Re: AVR Studio bootloader + main code

Добавлено: Чт сен 29, 2016 10:06:17
Z_h_e
Если Вы пишите на ассемблере, то тогда директива .ORG.

Если на Си. То наверное лучше всего сделать следующим образом. В свойствах проекта находите линковщик. В линковщике создаете новый сегмент. Например .bootmem=0xXXXX. Где 0xXXXX адрес расположения загрузчика в словах.
Прототип функции загрузчика пишите со следующим атрибутом.

Код: Выделить всё

void FooBoot() __attribute__ ((section (".bootmem")));
...
...
...

void FooBoot(){
}
З.Ы. С загрузчиком никогда не работал, но думаю что я Вам правильный совет дал.