This seems to not be implemented in the Arduino libraries, so am try to implement it myself. Since the manual says:
I assume I have to do this from the RTC WDT. The ESP32 Technical Reference Manual says:Only the RWDT can trigger the system reset
...but the RTC section does not make reference to any watchdog stuff at all.The RWDT registers are part of the RTC submodule and are described in the RTC Registers section.
THe `soc/rtc_cntl_reg.h` file seems to make reference to some registers which are similar to the timer watchdog registers, like RTC_CNTL_WDTCONFIG0_REG, RTC_CNTL_WDT_FEED, etc - but these registers are *not* discussed in the ESP32 Technical Reference Manual. In fact, the actual registers reference in these includes seem to fit into a "hole" in those described in the RTC section.
Furhtermore, the only usage I could find of them anywhere, in any project were bootloaders which merely "disabled" the watchdog by clearing a bit in CONFIG0 - as the manual says:
So - questions:After booting, the register TIMERS_WDT_FLASHBOOT_MOD_EN should be cleared to stop the flash boot protection procedure for the MWDT, and RTC_CNTL_WDT_FLASHBOOT_MOD_EN should be cleared to do the same for the RWDT. After this, the MWDT and RWDT can be configured by software.
1. "How do I do this?""
2. Are these registers documented?