[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: Чуток подробнее:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено User 25 октября 2001 г. 12:23
В ответ на: Ответ: а что если перепрошивка закончится неудачно... отправлено Михаил Евстафьев 24 октября 2001 г. 20:18

>Как попадет управление на загрузчик?
В данной реализации верхние 2К flash программ содержат загрузчик.
Вектор сброса указывает на загрузчик, а остальные векторы прерываний указывают на таблицу переходов, расположенную в самом начале нижних 2К flash.

>Что если питание пропадет во время стирания блока с вектором сброса и до записи туда стартового адреса загрузчика?
Стираются только нижние 2К flash... Загрузчик и векторы не трогаются.

При сбросе загрузчик смотрит наличие DS1996. Если ее нет, считает CRC нижних 2К, и если все ОК, передает управление на нулевой адрес в таблице перехода. Если СRС не совпадает ждет DS1996 и "грузит до посинения..."

Если DS1996 обнаружена,- стирает нижние 2К flash и "грузит до посинения" те-же нижние 2К... (таблица переходов + целевая программа + CRC)

Oleg



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru