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

 
 
> 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
Ответов
defunct
сообщение Feb 1 2011, 13:25
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Alexey Belyaev @ Jan 31 2011, 04:44) *
т.к. после прошивки, бутлоадер просто делает jump на нулевой адрес, я решил, что MCUSR регистр не будет содержать флагов сброса. Так ли это?

Нет это не так, если вы явно не потерли все флаги бутлоадером.

Обратите внимание что биты статуса в MCUSR "are R/W". Вы можете определить свою комбинацию сброса, которая будет устанавливаться в MCUSR бутлоадером. в аппликейшине используйте ее как признак запуска через бутлоадер.

Go to the top of the page
 
+Quote Post
xelax
сообщение Feb 3 2011, 15:44
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(defunct @ Feb 1 2011, 16:25) *
Нет это не так, если вы явно не потерли все флаги бутлоадером.

Обратите внимание что биты статуса в MCUSR "are R/W". Вы можете определить свою комбинацию сброса, которая будет устанавливаться в MCUSR бутлоадером. в аппликейшине используйте ее как признак запуска через бутлоадер.


Может они W только для того чтобы можно было сбрасывать записью нуля в битик?
И означает ли это что записав единицу в WDRF я автоматически запущу watchdog?
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 3 2011, 16:41
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(xelax @ Feb 3 2011, 17:44) *
Может они W только для того чтобы можно было сбрасывать записью нуля в битик?
И означает ли это что записав единицу в WDRF я автоматически запущу watchdog?

Читать их тоже можно, да и Д/Ш говорит - R/W, каких-либо противопоказаний писать туда "1" я в ДШ не вижу.
Wdt при записи в этот регистр не запустится и не остановится. На работу любой периферии reset status флаги никак не влияют.
Go to the top of the page
 
+Quote Post
xelax
сообщение Feb 4 2011, 07:54
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(defunct @ Feb 3 2011, 19:41) *
Wdt при записи в этот регистр не запустится и не остановится. На работу любой периферии reset status флаги никак не влияют.


Как же так? Вот из даташита:

Цитата
WDE is overridden by WDRF in MCUSR. This means that WDE is always set when WDRF is
set. To clear WDE, WDRF must be cleared first. This feature ensures multiple resets during conditions
causing failure, and a safe start-up after the failure.
Go to the top of the page
 
+Quote Post



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

 


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


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