mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 02:37:19 +02:00
Merge branch 'bugfix/task_wdt_timeout_uint32_overflow_v4.3' into 'release/v4.3'
Task WDT: Fix overflow issue during timeout calculation See merge request espressif/esp-idf!16809
This commit is contained in:
@ -224,9 +224,9 @@ esp_err_t esp_task_wdt_init(uint32_t timeout, bool panic)
|
||||
wdt_hal_init(&twdt_context, TWDT_INSTANCE, TWDT_PRESCALER, true);
|
||||
wdt_hal_write_protect_disable(&twdt_context);
|
||||
//Configure 1st stage timeout and behavior
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE0, twdt_config->timeout * 1000000 / TWDT_TICKS_PER_US, WDT_STAGE_ACTION_INT);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE0, twdt_config->timeout * (1000000 / TWDT_TICKS_PER_US), WDT_STAGE_ACTION_INT);
|
||||
//Configure 2nd stage timeout and behavior
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE1, 2*twdt_config->timeout * 1000000 / TWDT_TICKS_PER_US, WDT_STAGE_ACTION_RESET_SYSTEM);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE1, twdt_config->timeout * (2 * 1000000 / TWDT_TICKS_PER_US), WDT_STAGE_ACTION_RESET_SYSTEM);
|
||||
//Enable the WDT
|
||||
wdt_hal_enable(&twdt_context);
|
||||
wdt_hal_write_protect_enable(&twdt_context);
|
||||
@ -238,8 +238,8 @@ esp_err_t esp_task_wdt_init(uint32_t timeout, bool panic)
|
||||
//Reconfigure hardware timer
|
||||
wdt_hal_write_protect_disable(&twdt_context);
|
||||
wdt_hal_disable(&twdt_context);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE0, twdt_config->timeout*1000*1000/TWDT_TICKS_PER_US, WDT_STAGE_ACTION_INT);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE1, 2*twdt_config->timeout*1000*1000/TWDT_TICKS_PER_US, WDT_STAGE_ACTION_RESET_SYSTEM);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE0, twdt_config->timeout * (1000 * 1000 / TWDT_TICKS_PER_US), WDT_STAGE_ACTION_INT);
|
||||
wdt_hal_config_stage(&twdt_context, WDT_STAGE1, twdt_config->timeout * (2 * 1000 * 1000 / TWDT_TICKS_PER_US), WDT_STAGE_ACTION_RESET_SYSTEM);
|
||||
wdt_hal_enable(&twdt_context);
|
||||
wdt_hal_write_protect_enable(&twdt_context);
|
||||
}
|
||||
|
Reference in New Issue
Block a user