From 20d17e648b978304f42a1f8cb44f9b2b66f0b02e Mon Sep 17 00:00:00 2001 From: Renz Christian Bagaporo Date: Sun, 16 Feb 2020 18:20:58 +0500 Subject: [PATCH] esp32, esp32s2: remove dependency of cache err int init on freertos --- components/esp32/cache_err_int.c | 12 +++++++++--- components/esp32/system_api_esp32.c | 5 ----- components/esp32s2/cache_err_int.c | 14 ++++++++++---- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/components/esp32/cache_err_int.c b/components/esp32/cache_err_int.c index 9adb9effb..f8deadbf9 100644 --- a/components/esp32/cache_err_int.c +++ b/components/esp32/cache_err_int.c @@ -23,16 +23,22 @@ #include #include #include -#include "freertos/FreeRTOS.h" + #include "esp_err.h" -#include "esp_intr_alloc.h" #include "esp_attr.h" + +#include "esp_intr_alloc.h" #include "soc/dport_reg.h" +#include "hal/cpu_hal.h" + +#include "esp32/dport_access.h" +#include "esp32/rom/ets_sys.h" + #include "sdkconfig.h" void esp_cache_err_int_init(void) { - uint32_t core_id = xPortGetCoreID(); + uint32_t core_id = cpu_hal_get_core_id(); ESP_INTR_DISABLE(ETS_MEMACCESS_ERR_INUM); // We do not register a handler for the interrupt because it is interrupt diff --git a/components/esp32/system_api_esp32.c b/components/esp32/system_api_esp32.c index f32c59c80..66bf18f96 100644 --- a/components/esp32/system_api_esp32.c +++ b/components/esp32/system_api_esp32.c @@ -33,12 +33,7 @@ #include "hal/wdt_hal.h" #include "freertos/xtensa_api.h" -#if CONFIG_IDF_TARGET_ESP32 #include "esp32/cache_err_int.h" -#elif CONFIG_IDF_TARGET_ESP32S2 -#include "esp32s2/cache_err_int.h" -#endif - /* "inner" restart function for after RTOS, interrupts & anything else on this * core are already stopped. Stalls other core, resets hardware, diff --git a/components/esp32s2/cache_err_int.c b/components/esp32s2/cache_err_int.c index 11c2e7310..1db8f2b08 100644 --- a/components/esp32s2/cache_err_int.c +++ b/components/esp32s2/cache_err_int.c @@ -23,19 +23,25 @@ #include #include #include -#include "freertos/FreeRTOS.h" + #include "esp_err.h" -#include "esp_intr_alloc.h" #include "esp_attr.h" + +#include "esp_intr_alloc.h" + #include "soc/extmem_reg.h" #include "soc/dport_reg.h" #include "soc/periph_defs.h" -#include "sdkconfig.h" +#include "hal/cpu_hal.h" + #include "esp32s2/dport_access.h" +#include "esp32s2/rom/ets_sys.h" + +#include "sdkconfig.h" void esp_cache_err_int_init(void) { - uint32_t core_id = xPortGetCoreID(); + uint32_t core_id = cpu_hal_get_core_id(); ESP_INTR_DISABLE(ETS_MEMACCESS_ERR_INUM); // We do not register a handler for the interrupt because it is interrupt