Modernejsie nahrady za watchdogy
Miroslav Mraz
mrazik na volny.cz
Středa Červen 14 14:33:15 CEST 2023
Říká se, že každý software obsahuje alespoň jednu chybu. WDT považuji za
něco jako záchrannou brzdu ve vlaku - nikdo neví, jestli to vůbec
funguje (Švejk na cestě do Budějovic), ale je uklidňující pomyšlení, že
to tam je, kdyby se něco podělalo.
V praxi se mi stalo jen jednou, že WDT tahal za reset zhruba za několik
dní a opravdu tam byla dost pitomá chyba. Ono se to blbě testuje,
protože projev takové chyby bývá hodně málo pravděpodobný.
K té RAM a částici (nebo jiné chybě). Některé STM32 (STM32F05xxx) mají
RAM s paritou. Musí se to zapnout v option a chyba parity by pak měla
způsobit NMI přerušení. Ale nikdy jsem to nezkoušel - máte s tím někdo
jakoukoli zkušenost ?
Mrazík
On 14. 06. 23 10:00, Jan Waclawek wrote:
> Diskutovat sa to da do aleluja, ale vo vseobecnosti si stojim si za tym, co
> som napisal aj v tom pdf - WD ako vsetko ma klady aj zapory a je potrebne
> jeho pouzitie zvazit aplikacia od aplikacie, pricom v niektorych (a mozno
> aj vacsine) aplikacii je vhodnejsie ho nepouzit.
>
> wek
>
>
> ----- Original Message ---------------
> To už ale vyžaduje velký MCU s memory managementem.
>
> A stejně je lepší WD použít, protože vždycky může nastat jev, který
> nebyl ošetřen. Třeba když se do atomu v RAMce trefí pořádná částice a
> rozbije atom:-)
>
> Podobný obrázky mám 3, získány v 392 mm^3 čipu za cca 3 týdny. Není to
> tedy až tak exotický jev.
>
> PH
>
> Dne 13.06.2023 v 21:42 Miroslav Mraz napsal(a):
>> Netvrdím, že WDT u moderních MCU není potřeba, ale některé chyby se
>> dají ošetřit i jinak. Např. přetečení zásobníku a (z toho vyplývající)
>> čtení/zápis z/na neexistující adresu vede na hard-fault přerušení a to
>> se dá vyřešit softwarovým resetem. Podobně se dá WDT udělat pomocí
>> obecného čítače, pokud dokáže čítat dostatečně dlouho.
>> Pak je dobrá zpětná vazba když po každém restartu kontrolujeme proč k
>> resetu vlastně došlo. Bývá na to extra registr.
>>
>> Mrazík
>>
Další informace o konferenci Hw-list