fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process

Closes https://github.com/espressif/esp-idf/issues/12695
This commit is contained in:
wuzhenghui
2023-12-01 20:26:08 +08:00
committed by BOT
parent fb7ffb5112
commit e1d24ebd7f
9 changed files with 63 additions and 31 deletions

View File

@@ -181,6 +181,7 @@ static bool rtc_clk_cal_32k_valid(rtc_xtal_freq_t xtal_freq, uint32_t slowclk_cy
uint32_t rtc_clk_cal(rtc_cal_sel_t cal_clk, uint32_t slowclk_cycles)
{
assert(slowclk_cycles);
rtc_xtal_freq_t xtal_freq = rtc_clk_xtal_freq_get();
uint64_t xtal_cycles = rtc_clk_cal_internal(cal_clk, slowclk_cycles);
@@ -196,6 +197,7 @@ uint32_t rtc_clk_cal(rtc_cal_sel_t cal_clk, uint32_t slowclk_cycles)
uint64_t rtc_time_us_to_slowclk(uint64_t time_in_us, uint32_t period)
{
assert(period);
/* Overflow will happen in this function if time_in_us >= 2^45, which is about 400 days.
* TODO: fix overflow.
*/