mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
fix(esp_system): remove intwdt config critical area for chips except esp32
This commit is contained in:
@@ -87,23 +87,22 @@ static esp_err_t esp_int_wdt_retention_enable(uint32_t group_id)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static wdt_hal_context_t iwdt_context;
|
static wdt_hal_context_t iwdt_context;
|
||||||
static portMUX_TYPE s_iwdt_configure_lock = portMUX_INITIALIZER_UNLOCKED;
|
|
||||||
|
|
||||||
static void ESP_SYSTEM_IRAM_ATTR reconfigure_ticks(uint32_t stage0_ticks, uint32_t stage1_ticks)
|
static void ESP_SYSTEM_IRAM_ATTR reconfigure_ticks(uint32_t stage0_ticks, uint32_t stage1_ticks)
|
||||||
{
|
{
|
||||||
portENTER_CRITICAL_SAFE(&s_iwdt_configure_lock);
|
|
||||||
wdt_hal_write_protect_disable(&iwdt_context);
|
wdt_hal_write_protect_disable(&iwdt_context);
|
||||||
wdt_hal_config_stage(&iwdt_context, WDT_STAGE0, stage0_ticks, WDT_STAGE_ACTION_INT);
|
wdt_hal_config_stage(&iwdt_context, WDT_STAGE0, stage0_ticks, WDT_STAGE_ACTION_INT);
|
||||||
wdt_hal_config_stage(&iwdt_context, WDT_STAGE1, stage1_ticks, WDT_STAGE_ACTION_RESET_SYSTEM);
|
wdt_hal_config_stage(&iwdt_context, WDT_STAGE1, stage1_ticks, WDT_STAGE_ACTION_RESET_SYSTEM);
|
||||||
wdt_hal_feed(&iwdt_context);
|
wdt_hal_feed(&iwdt_context);
|
||||||
wdt_hal_write_protect_enable(&iwdt_context);
|
wdt_hal_write_protect_enable(&iwdt_context);
|
||||||
portEXIT_CRITICAL_SAFE(&s_iwdt_configure_lock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
|
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
|
||||||
|
static portMUX_TYPE s_iwdt_configure_lock = portMUX_INITIALIZER_UNLOCKED;
|
||||||
void ESP_SYSTEM_IRAM_ATTR esp_int_wdt_reconfigure_ticks(uint32_t stage0_ticks, uint32_t stage1_ticks)
|
void ESP_SYSTEM_IRAM_ATTR esp_int_wdt_reconfigure_ticks(uint32_t stage0_ticks, uint32_t stage1_ticks)
|
||||||
{
|
{
|
||||||
|
portENTER_CRITICAL_SAFE(&s_iwdt_configure_lock);
|
||||||
reconfigure_ticks(stage0_ticks, stage1_ticks);
|
reconfigure_ticks(stage0_ticks, stage1_ticks);
|
||||||
|
portEXIT_CRITICAL_SAFE(&s_iwdt_configure_lock);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -128,7 +127,7 @@ static void ESP_SYSTEM_IRAM_ATTR tick_hook(void)
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
|
#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX
|
||||||
esp_int_wdt_set_livelock_params(CONFIG_ESP_INT_WDT_TIMEOUT_MS);
|
esp_int_wdt_set_livelock_params(CONFIG_ESP_INT_WDT_TIMEOUT_MS);
|
||||||
reconfigure_ticks(esp_int_wdt_livelock_get_feed_stage0_ticks(), IWDT_STAGE1_TIMEOUT_US);
|
esp_int_wdt_reconfigure_ticks(esp_int_wdt_livelock_get_feed_stage0_ticks(), IWDT_STAGE1_TIMEOUT_US);
|
||||||
#else
|
#else
|
||||||
reconfigure_ticks(IWDT_STAGE0_TIMEOUT_US, IWDT_STAGE1_TIMEOUT_US);
|
reconfigure_ticks(IWDT_STAGE0_TIMEOUT_US, IWDT_STAGE1_TIMEOUT_US);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user