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

 
 
> LPC2xxx watchdog, маразм или я туплю?
Andy Mozzhevilov
сообщение Sep 13 2005, 10:12
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Включил watchdog. В документации написано, что для активации/сброса wdt нужно писать в feed регистр последовательно 0xaa , 0x55. В процессе хождения по граблям выясняется, что писать нужно еще и атомарно, то есть нельзя допускать вставки дополнительных команд между командами записи. Получается, что нельзя записать 0xaa, потом что-то поделать, а потом записать 0x55, поскольку после записи 0xaa и не записи 0x55 следом uC рестартует по wdt.
В UM на LPC213x формулировка:
Цитата
"Once 0xAA is written to the WDFEED register the next operation in the Watchdog register space should be a WRITE (0x55) to the WDFFED register otherwise the watchdog is triggered."

То есть говорится о следующей операции записи в конкретное пространство wdt регистров, а не о любой следующей операции записи вообще. Или у меня с английским совсем плохо?
Конечно, не проблема записать сразу последовательно 0xaa и 0x55.
Но приходится писать в критической секции, запрещая irq и fiq, поскольку любой int между операциями записи приводит к рестарту. А если это к тому же под ОС, а если я fiq запрещать вообще не хочу?
Кто как юзает этот wdt ?


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post



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

 


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


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