LINUX.ORG.RU

Нужны рекомендации по использованию whatchdog

 ,


0

3

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

Проекты хоббийные, на stm32, не медицина-космос. Но может в 2020 уже стало правилом хорошего тона обязательно whatchdog втыкать? Вам приходилось сталкиваться в реальной жизни, когда наличие whatchdog действительно помогало?

★★★★★

Последнее исправление: Vit (всего исправлений: 2)
Ответ на: комментарий от Oberstserj

и нет прочих «возбудителей»

Тут побочный вопрос. Мне для тестового (не продакшеновского) варианта платы пришлось полку с nrf24 прям на MCU положить сверху:

https://easyeda.com/speed/ac-speed-control-v2

Знаю что плохо, но с местом беда. nrf24 нужна логи на ходу сливать, только для разработчиков, мощность передатчика минимальную сделаю. Пора начинать молиться и городить жестяной экран или и так прокатит?

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Если логика не предполагает постоянного числодробления, то в rtos можно запихнуть сброс watchdog в idle поток. В итоге он отловит зависание любого другого потока или обработчика прерывания. Он не отловит отвалы периферии, но отловит отвал systick (процессор просто тогда не сможет переключиться на idle задачу), а обычно от него работают и все виртуальные таймеры. Значит достаточно иметь таймауты на все операции с периферией штатными средствами rtos. И при таймаутах что-то делать (и если логика «такого никогда не может быть» ребутать чип, либо уходить в бесконечный цикл, чтобы его грохнул wdt).

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Vit

Мне кажется, тут надо плясать в первую очередь от ущерба. Если зависший МК может нанести какой-либо ущерб, то пёс строго обязателен (даже если придется перелопатить всю архитектуру). Выше уже есть примеры с кранами, нагревателями и т. д. Пусть лучше девайс станет неюзабельным из-за частых перезагрузок (тогда разработчик будет искать ошибки), чем устроит потоп или пожар.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от Vit

групповой семафор, где все таски должны отметиться.

а в RTOS это уже конкретный зашквар и лучше объединять флаги из всех задач, как ты выше посоветовал.

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

А не могут быть просто чипы изначально говно?

Это и есть самая большая проблема. Именно говно-чип изначально. Причем как правило первично чип выглядит нормальным и попытки протестить его ничего не показывают. Заказываешь партию и стабильно каждую 20-30-ю плату снимаешь со стенда на перепайку из-за чипа. Это про STM.

Очень давно, когда сваливал с PIC на AVR, заметил их меньшую устойчивость

Вот как раз с этими у меня статистика лучше, чем с STM. Хотя я в итоге отказался и от них в пользу китайских клонов, которые откровенно стабильнее оказались. Их много, на любой вкус. Будет время - покопайся, тоже со временем свалишь может.

когда рисовал 10-20-амперные регули для моторчиков в радиомодели

Скорее всего просто плату коряво развел. Ни разу не ловил таких проблем.

Oberstserj ★★
()
Ответ на: комментарий от Vit

Пора начинать молиться и городить жестяной экран или и так прокатит?

Да, я просто кусок фольги подкладываю, цепляю на землю. Откровенно говоря ЭМ-расчет никогда не делал, ибо знаю, что этого достаточно чуть более чем всегда. Навскидку там надо чтоб мощность генератора в киловаттах измерялась, чтоб пробить такую защиту. Поэтому не парюсь. Кусочек фольги, либо односторонняя разводка на двустороннем текстолите, где нижний слой земля.

Oberstserj ★★
()
Ответ на: комментарий от KivApple

Я думал над idle перед тем как создать тему, это очень на соплях. Бывают кейзы вроде скрола экрана, когда загрузка 100%.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Ну так не надо брать камень в притык по ресурсам. Даже если он будет 1% времени свободен этого хватит. Мне кажется, тут проблема в архитектуре, если никак без долгих busy loop. Ну и в любом случае таких мест в проекте единицы и они должны быть хорошо заметны, чтобы туда добавить периодический сброс таймера.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Скажем так, полное отсутствие busy гарантировать на порядок гиморнее, чем реалтайм отклик.

Групповой семафор решает проблему без необходимости таких гарантий. Вот ради подобных рекомендаций и создавал тему.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Oberstserj

Заказываешь партию и стабильно каждую 20-30-ю плату снимаешь со стенда на перепайку из-за чипа. Это про STM.

Сириусли? Не с али, с выдержанным режимом пайки, температурой эксплуатации, и т.п., 3-5% MCU на замену? Это ж трындец совсем. Нет бывает у производителя таких допусков по браку чипов.

Хотя я в итоге отказался и от них в пользу китайских клонов, которые откровенно стабильнее оказались. Их много, на любой вкус. Будет время - покопайся, тоже со временем свалишь может.

Напиши названия пожалуйста, посмотрю при случае. Я все-таки не профессиональный разработчик железа, не всегда есть возможность глубоко в тему забуриваться. Чипы выбирал из расчета:

a) полезный опыт на потом (архитектура + тулчейн) б) доступность в широких массах

Поэтому как-то сам собой вышел ARM, а в его рамках stm32.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Сириусли? Не с али, с выдержанным режимом пайки, температурой эксплуатации, и т.п., 3-5% MCU на замену?

Не на замену, а на проверку каких-то мелочей, которые вызывают подозрение. Зачастую чип-то жив, но ведет себя странно. Например уплывает частота, либо перестает ловить такты с генератора при изменении температуры/вибрации и т.д. Мне как-то проще отправить на перепайку, чем выяснять причины досконально. Естественно поставщику прилетает претензия, но это уже другой разговор. Разумеется это скорее не брак, а некоторая погрешность, значение которой я искусственно раздул. Так для меня тупо быстрее и дешевле.

Нет бывает у производителя таких допусков по браку чипов.

За мою бытность в электронике я несколько раз нарывался на целые партии чипов, в которых встроенный генератор работал на вдове меньшей частоте, не работал вовсе eeprom, либо чипы были отмаркированы как Low Vol, а на деле оказывались P или PU. И я ХЗ как это проходило их ОТК. Разумеется не с али. Партии у меня по 2-5 тыс. чипов. Вот и думай, бывает оно или нет.

Я все-таки не профессиональный разработчик железа, не всегда есть возможность глубоко в тему забуриваться.

Упс, тогда забей. Если не заказываешь партию, то никаких претензий китайцам не предъявишь. Лучше STM.

Oberstserj ★★
()
Ответ на: комментарий от Oberstserj

Упс, тогда забей. Если не заказываешь партию, то никаких претензий китайцам не предъявишь. Лучше STM.

Ага, как-то так и выходит. У меня акцент не на «серии», а на «массовости» - когда собирает много любителей, но каждый по одной штуке. Другие требования по комбинации надежности и используемых технологий. Но тоже весело. Сейчас можно делать намного круче, чем вываливать на форум архив «йа сделаль».

Vit ★★★★★
() автор топика
Ответ на: комментарий от Harald

Да. Вплоть до выхода порта контроллера из строя. Но ударить надо сильно :)

Oberstserj ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.