Hi,
I am wondering how to determine "last reset reason". I want to detect if the CPU was reset by power on, or by watchdog, or by system (software) reset. Depending on this I would make different reactions in the firmware.
Up to now I found the mbed team uses WDT reset to implement software reset (CMSIS function NVIC_SystemReset) - this is somehow strange, I wonder if they did this because there is no other way for SW reset?.
I would like to use all described above reset types:
- Power on reset - normal system startup
- WDT reset - abnormal operation - fatal error - device enters fault state and wait for service
- Software reset - regular reboot, e.g. calling back the bootloader for firmware update