feat(esp_timer): added kconfig option for placing IRAM code into flash

This commit is contained in:
Marius Vikhammer
2025-03-03 14:16:44 +08:00
parent 3fdcf31857
commit 55be8bdc0d
14 changed files with 123 additions and 82 deletions

View File

@@ -1,9 +1,10 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "unity.h"
#include "unity_test_utils_cache.h"
#include "esp_attr.h"
@@ -12,11 +13,15 @@
IRAM_ATTR void unity_utils_run_cache_disable_stub(void (*post_cache_disable)(void *), void *user_ctx)
{
#if !CONFIG_SPI_FLASH_AUTO_SUSPEND
// callback function must reside in IRAM
TEST_ASSERT_TRUE(esp_ptr_in_iram(post_cache_disable));
// disable flash cache
spi_flash_guard_get()->start();
#endif
post_cache_disable(user_ctx);
// enable flash cache
#if !CONFIG_SPI_FLASH_AUTO_SUSPEND
spi_flash_guard_get()->end();
#endif
}