AVR Studio bootloader + main code

Обсуждаем контроллеры компании Atmel.
Ответить
yaz
Родился
Сообщения: 1
Зарегистрирован: Ср сен 28, 2016 23:37:05

Сообщение yaz »

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

Варианты скомпилировать два файла, а потом их объединить в один не устраивает ввиду динамичности обновления основной прошивки, запускать сторонние макросы для автоматического объединения тоже не хочется.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Если Вы пишите на ассемблере, то тогда директива .ORG.

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

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

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

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

Вернуться в «AVR»