Страница 1 из 1

ATmega328_UNO Аппаратный watchdog для загрузчика Optiboot

Добавлено: 01 янв 2026, 08:44
lfgjikjjyj
2026-01-01_113422.png

ATmega328_watchdog_v1.1_(Code_-_Professional).ubi

Для загрузчика Optiboot это для уно, возможно и для олд бутлоадера нестил это некие варианты у нано.
Со старыми загрузчиками не работает улетит в бесконечный ребут придётся вытаскивать сторонним контролером либо обычной прошивалкой.
Аппаратный watchdog при старте самоблокируется на весь период инициализации что бы сетап не ресетил нам его бесконечно.
Как всё завершится, запускается и мониторит луп.

Полная независимость от CPU - работает даже при полном зависании процессора.
Гарантированное срабатывание - сбросит МК, даже если основная программа "умерла".
Низкое энергопотребление - потребляет минимальный ток в режиме ожидания.
Аппаратная защита - не зависит от состояния стека, регистров или памяти.
Имеет собственный тактовый генератор.
Работает даже когда системный тактовый генератор остановлен.

ATmega328_watchdog_v1.0 распологается на первой чистовой плате.

wdt_reset доп блок для обнуленя вачдога.
Полностью перезапускает таймер watchdog.
Ставится в разных частях кода перед сложными длинными участками либо внутри цыклировании участка.
Либо если 2 сек не хватает на всё то можно заранее обнулить как вариант.
Либо если код требует мгновенных реакций а не сидения в зависании то мелкими интервалами обнуления раставляется где надо.

В отличие от флпрог-эмулятора програмного, аппаратный имеет только 10 фиксированных значений времени.
Сам тактовый генератор имеет отклонения небольшие так что время будет находится около заданного.

Re: ATmega328 Аппаратный watchdog

Добавлено: 01 янв 2026, 09:41
dstrufanov
lfgjikjjyj писал(а): 01 янв 2026, 08:44 Полная независимость от CPU - работает даже при полном зависании процессора.
???

Re: ATmega328 Аппаратный watchdog

Добавлено: 01 янв 2026, 11:27
lfgjikjjyj
dstrufanov писал(а): 01 янв 2026, 09:41
lfgjikjjyj писал(а): 01 янв 2026, 08:44 Полная независимость от CPU - работает даже при полном зависании процессора.
???
если кпу спит отключен тактовый а вачдог работает то видимо он не зависит от него


кто скачал удалите пока есть нюансы от старых загрузчиков там улетают в бесконечный ребут сами загрузчики

пока на ремонте

Re: ATmega328 Аппаратный watchdog

Добавлено: 01 янв 2026, 11:37
lfgjikjjyj
да всё верно на старье не работает низкий уровень доступа перед сетапом
а вот на новых без проблем отрабатывается имитация зависания

как обойти старый загрузчик пока не понятно там багованая прошивка заводская
загрузчик забирает 1,5сек после подачи питания далее пошла инициализация но у старья после вачдога она не идёт

Re: ATmega328 Аппаратный watchdog

Добавлено: 01 янв 2026, 11:52
lfgjikjjyj
если полистать поиск то оказывается мою проблему ещё 10 лет назад открыли :)
https://github.com/arduino/ArduinoCore-avr/issues/150

это что же получается мировой производитель (уточню далеко не маленький) намеренно-умышленно 10 лет клепает багованые платы и его даже не колышет что в загрузчике надо поменять одну багованую строчку
или куда лучше выпускать промини с загрузчиком от уно что я и делаю при покупке промини меняя загрузчик

Re: ATmega328_UNO Аппаратный watchdog для загрузчика Optiboot

Добавлено: 01 янв 2026, 16:26
lfgjikjjyj
Ну всё, потестил, всё работает.
Теперь со старыми загрузчиками, в общем, никак.
Там, походу, только эмуляцию от FLProg использовать, но она такая... В общем, много случаев было, когда она включена, а МК висит.
Про аппаратную не знаю, потестим, посмотрим.

Re: ATmega328_UNO Аппаратный watchdog для загрузчика Optiboot

Добавлено: 04 июл 2026, 17:48
lfgjikjjyj
если отключить загрузчик фьюзами
и далее заливать код только через исп то можно блок использовать на 328 и 168 без проблем
что так же имеет свои плюсы и порой очень весомые то как вариант когда подаётся питание мк ждёт 1,5сек до старта кода а тебе надо что бы сразу стартовало
или защита от копирования кода забота об интелектуальной собствености