ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
908010 Топик полностью
shan (03.03.2019 19:40, просмотров: 101) ответил Aleksey_75 на а нафиг? я делаю для этих целей не инициализированую область в озу, байт на 128, бут и аппликейшен через эту область общаются
Это от жадности, желания максимально экономить (пропадают несколько 4-х байтных слов) и удобно. В ассемблерном startup_xxxx.s пишу в таблице векторов нужные значения, которые надо передать загрузчику (контр сумма, длина, версия и тп). Из файла  загружается слинкованная область ПЗУ-кода вместе с векторами. Загрузчик проверяет правильность прошивки , и перезаписывает приложение с его векторами. Если новой прошивки нет, то копирует таблицу векторов приложения в неинициализируемую область ОЗУ и переключает NVIC на RAM (это для СМ0), или просто переключает на смещённую таблицу векторов в ПЗУ (СМ3, СМ4).