diff --git a/components/esp_hw_support/test_apps/rtc_8md256/main/test_rtc_8md256.c b/components/esp_hw_support/test_apps/rtc_8md256/main/test_rtc_8md256.c index 3831015833..220a65a5c0 100644 --- a/components/esp_hw_support/test_apps/rtc_8md256/main/test_rtc_8md256.c +++ b/components/esp_hw_support/test_apps/rtc_8md256/main/test_rtc_8md256.c @@ -6,6 +6,7 @@ #include #include +#include #include "esp_sleep.h" #include "unity.h" #include "unity_test_utils.h" @@ -38,6 +39,30 @@ TEST_CASE("Can use 8MD256 as RTC clock source in deepsleep", "[pm]") test_deepsleep(false); } +static void check_reset_reason_deep_sleep(void) +{ + TEST_ASSERT_EQUAL(ESP_RST_DEEPSLEEP, esp_reset_reason()); +} + +static void enter_deepsleep_by_core1(void *args) +{ + do { + test_deepsleep(false); + } while (1); +} + +static void request_core1_do_deepsleep(void) +{ + fflush(stdout); + fsync(fileno(stdout)); + xTaskCreatePinnedToCore(enter_deepsleep_by_core1, "deep_sleep_task", 4096, NULL, 6, NULL, 1); + while(1); +} + +TEST_CASE_MULTIPLE_STAGES("Can use 8MD256 as RTC clock source in deepsleep (enter sleep by core1)", "[pm]", + request_core1_do_deepsleep, + check_reset_reason_deep_sleep); + static void test_lightsleep(bool force_rtc_periph) { esp_sleep_enable_timer_wakeup(2000000); diff --git a/examples/system/deep_sleep/main/deep_sleep_example_main.c b/examples/system/deep_sleep/main/deep_sleep_example_main.c index 7c1de51580..ae3579956b 100644 --- a/examples/system/deep_sleep/main/deep_sleep_example_main.c +++ b/examples/system/deep_sleep/main/deep_sleep_example_main.c @@ -18,9 +18,7 @@ #include "nvs.h" #include "deep_sleep_example.h" -#if SOC_RTC_FAST_MEM_SUPPORTED RTC_SLOW_ATTR static struct timeval sleep_enter_time; -#endif static void deep_sleep_task(void *args) {