2017-01-06 06:12 AM
We have a project that is required to go through UL testing, so it needs both a watchdog and a check that the processor frequency is running as expected. Because the independent watchdog uses its own oscillator it seems to be a perfect fit for doing both. The problem is that when a severe error have been detected, we need to go into a safe shutdown, turning off all interrupts.
We have
read through the reference manual and have found the sequence
to get the IWDG running and how to reload, but nothing about stopping it. There
is a sentence in paragraph 19.3.1 of the reference manual that says:
'Whenever the key value 0x0000 AAAA is written in the IWDG_KR register, the IWDG_RLR value is reloaded in the counter and the watchdog reset is prevented.' Is this the same as disabling the independent watchdogwindow or is there any other method of stopping it?
Thanks,
John C.
2017-01-09 09:16 AM
My only issue is that when the reset occurs and you see a watchdog reset has occurred, that is not the real reason the system has gone down. You will need to store some type of error code in ram/flash so that when the reset has been detected, you need to verify what the real reason was for the reset error. Maybe it was that you detected a CRC error in your executable, hit the shutdown function and then the watchdog expired. Is it really that hard to do? No, not really. In my opinion it is just a case of processor hardware forcing the issue. Would it really been that hard to have some flexibility with the watchdog operation?