Есть уже готовый проект. Теперь к нему нужно прикрутить возможность обновления ПО в приложении.
Предполагается 2(4) метода получения ПО в EEPROM 1) По USB в штатном/аварийном режиме. 2) По FTP через GPRS в штатном/аварийном режиме.
В найденых мною примерах bootloader пишется и компилируется отдельно. Программа пишется отдельно и компилируется по разному, для отладки и для загрузки через бутлоадер.
Прием данных в EEPROM возможен как при обновлени так при при отказе соновной прошивки, следовательно нецелесообразно в бутлоадере и а основной программе дублировать функции для работы USB, GPRS, EEPROM.
Bootloader и основную пограмму можно положиь в разных секциях flash и компилировать один проект. Затем с двоичного файла отрезать нужный кусок.
В сети не нашел подобных вариантов. Очевидно что есть скрытые (или очевидные :-) недостатки такого метода. Какие именно недостатки?
Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188
Цитата(misyachniy @ Jun 15 2014, 11:30)
Какие именно недостатки?
"Категорический" недостаток - невозможность апгрейда совместно используемых фрагментов. Остальное - просто дополнительные хлопоты по их размещению и интерфейсу.
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713
дополнительные хлопоты Ну если так можно назвать переписывание стандартного си-стартапа, чтобы разделить функции main(), а также сегменты инициализации глобальных и static переменных. Это кроме всего прочего.