Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При включенном BOOTRST не работает Watchdog [РЕШЕНО]
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Alt.F4
Добрый день.
Столкнулся с проблемой, как только выставляю фьюз BOOTRST перестает работать Watchdog.
Вернее он работает, но МК не перезагружается, а тупо входит в ресет и все.
Подскажите, куда копать?
Спасибо.
_Артём_
Цитата(Alt.F4 @ Apr 8 2012, 19:38) *
Добрый день.
Столкнулся с проблемой, как только выставляю фьюз BOOTRST перестает работать Watchdog.
Вернее он работает, но МК не перезагружается, а тупо входит в ресет и все.
Подскажите, куда копать?
Спасибо.


Какой процессор-то?
Вы уверены что меняете BOOTRST а не WDTON?
Чему равны остальные fuse байты?
Чем заполнено память в области boot?
Alt.F4
Артем, atmega644, меняю BOOTRST и стартует именно с того адреса, где расположен бутлодЫрь. (Остальные фьюзы здесь не влияют).

Повторюсь: как только включаю BOOTRST, так сразу и перестает перезапускаться мк по WDT.
Если BOOTRST выключен и прога стартует с нулевого адреса, то WDT отрабатывается на ура.

Вопрос: после рестaрта по WDT, он самовыключается?
Хотя даже если он не выключается, то не вариант. У меня настроен на 4сек. За этот промежуток времени он проскочил бы bootloader.
ILYAUL
Похоже Вы не попадаете в адреса прерываний.



When the BOOTRST Fuse is programmed and the Boot section size set to 8K bytes, the most typical and general program setup for the Reset and Interrupt Vector Addresses is: стр 64 DS

Artem_Petrik
Цитата(Alt.F4 @ Apr 8 2012, 21:01) *
Вопрос: после рестaрта по WDT, он самовыключается?
Хотя даже если он не выключается, то не вариант. У меня настроен на 4сек. За этот промежуток времени он проскочил бы bootloader.

Нет, не самовыключается, где то даже в аппноутах на это обращали внимание, что сразу после ресета его надо сбрасывать_перенастраивать/отключать, иначе можно получтиь вечный ресет.

P.S. Саму аппликуху быстро найти не удалось, но выдержку из нее нашел здесь на форуме:http://electronix.ru/forum/index.php?showt...st&p=417632

Цитата
For these newer AVRs a function needs to be added to the .init3 section (i.e. during the startup code, before main()) to disable the watchdog early enough so it does not continually reset the AVR.
Alt.F4
Цитата
Похоже Вы не попадаете в адреса прерываний.
При чем тут прерывания и приведенная Вами цитата из DS? ph34r.gif
Если что, в бутлодыре прерывания не юзаю.

Artem_Petrik, завтра попробую.
ILYAUL
Цитата(Artem_Petrik @ Apr 8 2012, 23:08) *
P.S. Саму аппликуху быстро найти не удалось,


Вы наверно про эту? стр.83
Alt.F4
Artem_Petrik, спасибо за наводку.
Все написано в даташите (стр.57):
Цитата
If the Watchdog is accidentally enabled, for example by a runaway pointer or brown-out
condition, the device will be reset and the Watchdog Timer will stay enabled. If the code is not
set up to handle the Watchdog, this might lead to an eternal loop of time-out resets.
После сброса WDT не выключается и у него сбрасывается Prescaler на 16мс.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.