Fixed compatibility the new apps with the old bootloaders.
Closes: https://github.com/espressif/esp-idf/issues/2927
rtc_wdt_set_length_of_reset_signal(RTC_WDT_SYS_RESET_SIG, RTC_WDT_LENGTH_200ns);
rtc_wdt_set_length_of_reset_signal(RTC_WDT_CPU_RESET_SIG, RTC_WDT_LENGTH_200ns);
rtc_wdt_set_time(RTC_WDT_STAGE0, 1000);
- rtc_wdt_enable();
- rtc_wdt_protect_on();
+ rtc_wdt_flashboot_mode_enable();
// Reset and stall the other CPU.
// CPU must be reset before stalling, in case it was running a s32c1i
SET_PERI_REG_MASK(RTC_CNTL_WDTCONFIG0_REG, RTC_CNTL_WDT_EN | RTC_CNTL_WDT_PAUSE_IN_SLP);
}
+void rtc_wdt_flashboot_mode_enable()
+{
+ REG_SET_BIT(RTC_CNTL_WDTCONFIG0_REG, RTC_CNTL_WDT_FLASHBOOT_MOD_EN);
+}
+
void rtc_wdt_disable()
{
bool protect = rtc_wdt_get_protect_status();
*/
void rtc_wdt_enable();
+/**
+ * @brief Enable the flash boot protection procedure for WDT.
+ *
+ * Do not recommend to use it in the app.
+ * This function was added to be compatibility with the old bootloaders.
+ * This mode is disabled in bootloader or using rtc_wdt_disable() function.
+ */
+void rtc_wdt_flashboot_mode_enable();
+
/**
* @brief Disable rtc_wdt.
*/