реклама на сайте
подробности

 
 
> MCUSR после бутлоадера, Или как определить, что запуск после прошивки
Spider
сообщение Jan 31 2011, 02:44
Сообщение #1


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Всем привет!

Встала задача определения факта "самопрошивки". Другими словами, надо из основной прошивки определить факт запуска ея "самостоятельно" или запуска после прошивки из бутлоадера.
т.к. после прошивки, бутлоадер просто делает jump на нулевой адрес, я решил, что MCUSR регистр не будет содержать флагов сброса. Так ли это?
ещё один попутный вопрос, а так же как способ определения, содержимое RAM и регистров I/O сохранится в таком случае (WinAVR)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Jan 31 2011, 04:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



Цитата(Alexey Belyaev @ Jan 31 2011, 12:44) *
Всем привет!
т.к. после прошивки, бутлоадер просто делает jump на нулевой адрес, я решил, что MCUSR регистр не будет содержать флагов сброса. Так ли это?
ещё один попутный вопрос, а так же как способ определения, содержимое RAM и регистров I/O сохранится в таком случае (WinAVR)?


2. Содержимое RAM и регистров I/O будет в том состоянии, в каком их оставит бутлоадер
1. Делайте в бутлоадере сброс флага Power-On-Reset, а в основной программе проверяйте этот флаг. Если при включении питания прошли мимо бутлоадера, этот флаг останется установленным. Только при отладке эмулятором это неудобно. Можно также в бутлоадере после прошивки записать какой-нибудь контрольный байтик в ОЗУ, а в основной программе его проверять. Можно взводить бит в EEPROM, а в основной программе его проверять и сбрасывать, тогда состояние запомнится при пропадании питания. В общем, вариантов море.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016