Цитата(smk @ Nov 2 2014, 18:22)

...Понадобился бутлоадер....
делаю так.
есть бутлоадер. он же обладает функциями для прошивки. он же статический код (версионность аппаратуры, проверка и передача управления основной программе,
обработка исключений с записью во флэш). основная программа представляет из себя модули (аля форточные дэлеле). каждый модуль имеет понятие номер версии,
есть сборка этих версий (инкрементальная, фулл, дифф). во флэше лежат эти модули в разных местах. шьётся на уровне версий(фулл, дифф, инкрементальной).
источники приёма версий - пофигу (изернет, модбасс, микросд и т.д.). надо прошить - обращаемся к ядру, он отслеживает адресацию и корректность записи.
после ресета - выбираем последнюю рабочую версию(кол-во успешных загрузок, качество версий отслеживается).если всякие црц, заголовки, перекрёстные
ссылки всё ок - передаётся управление модулю. в случае возникновения многократных исключений, или с сайта поддержки - версия может отметиться как
неработоспособная и будет загружаться предыдущая.
минусы такого подхода два.
1) адресация внутри модулей должна быть с учётом любого адреса загрузки.
2) отлаживать модули из среды - только азм.