ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
105086
Argon (16.11.2007 13:41, просмотров: 10070)
2 Сергей Борщ и всем, кто в лодке! 2nd stage bootloader и scmRTOS. Решил оснастить прибор загрузчиком прошивки с MMC-карты. Причем сделать это надежно, т.е. чтобы потеря питания во время обновления firmware не сказывалась на работоспособности в целом. Очевидно, что загрузчик должен находиться в секторе 0 и быть непрошиваемым, т.е. он себя никогда не трогает. Но в секторе 0 находится таблица прерываний, в к-рой содержатся 2 важных вектора scmRTOS: ContextSwitcher_ISR и SystemTimer_ISR. Их расположение, видимо, зависит от конкретной компиляции. У меня пока 2 варианта: 1. Залезть внутрь scmRTOS и задать фиксированное значение векторов. 2. Использовать таблицу векторов в RAM, к-рую инициализировать в начале программы. Первый вариант - надежно, но некрасиво. Второй вариант - красивше, но менее надежно. Жду мудрых советов :)