kopia lustrzana https://github.com/espressif/esp-idf
esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.pull/5452/head
rodzic
514596cb81
commit
11d96b39d0
|
@ -539,13 +539,15 @@ if(CONFIG_BT_ENABLED)
|
|||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
# requirements can't depend on config
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
INCLUDE_DIRS "${include_dirs}"
|
||||
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
|
||||
REQUIRES nvs_flash soc esp_timer)
|
||||
REQUIRES nvs_flash soc esp_timer
|
||||
PRIV_REQUIRES esp_ipc)
|
||||
|
||||
if(CONFIG_BT_ENABLED)
|
||||
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-implicit-fallthrough -Wno-unused-const-variable)
|
||||
|
|
|
@ -48,7 +48,7 @@ endif()
|
|||
idf_component_register(SRCS "${srcs}"
|
||||
INCLUDE_DIRS ${includes}
|
||||
PRIV_INCLUDE_DIRS "include/driver"
|
||||
PRIV_REQUIRES efuse esp_timer
|
||||
PRIV_REQUIRES efuse esp_timer esp_ipc
|
||||
REQUIRES esp_ringbuf freertos soc) #cannot totally hide soc headers, since there are a lot arguments in the driver are chip-dependent
|
||||
|
||||
# uses C11 atomic feature
|
||||
|
|
|
@ -36,7 +36,7 @@ else()
|
|||
# app_update is added here because cpu_start.c uses esp_ota_get_app_description() function.
|
||||
# esp_timer is added here because cpu_start.c uses esp_timer
|
||||
set(priv_requires app_trace app_update bootloader_support log mbedtls nvs_flash pthread
|
||||
spi_flash vfs espcoredump esp_common perfmon esp_timer)
|
||||
spi_flash vfs espcoredump esp_common perfmon esp_timer esp_ipc)
|
||||
set(fragments linker.lf ld/esp32_fragments.lf)
|
||||
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
#include "nvs_flash.h"
|
||||
#include "esp_event.h"
|
||||
#include "esp_spi_flash.h"
|
||||
#include "esp_ipc.h"
|
||||
#include "esp_private/crosscore_int.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_vfs_dev.h"
|
||||
|
|
|
@ -17,14 +17,10 @@ else()
|
|||
"src/task_wdt.c"
|
||||
"src/int_wdt.c")
|
||||
|
||||
# IPC framework is not applicable if freertos unicore config is selected
|
||||
if(NOT CONFIG_FREERTOS_UNICORE)
|
||||
list(APPEND srcs "src/ipc.c")
|
||||
endif()
|
||||
|
||||
# Note: esp_ipc added as a public requirement to keep compatibility as to be located here.
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
INCLUDE_DIRS include
|
||||
REQUIRES ${target} espcoredump esp_timer
|
||||
REQUIRES ${target} espcoredump esp_timer esp_ipc
|
||||
PRIV_REQUIRES soc
|
||||
LDFRAGMENTS "linker.lf")
|
||||
|
||||
|
|
|
@ -5,10 +5,5 @@
|
|||
COMPONENT_ADD_INCLUDEDIRS := include
|
||||
COMPONENT_SRCDIRS := src
|
||||
|
||||
# IPC framework is not applicable if freertos unicore config is selected
|
||||
ifdef CONFIG_FREERTOS_UNICORE
|
||||
COMPONENT_OBJEXCLUDE := src/ipc.o
|
||||
endif
|
||||
|
||||
# disable stack protection in files which are involved in initialization of that feature
|
||||
src/stack_check.o: CFLAGS := $(filter-out -fstack-protector%, $(CFLAGS))
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
idf_component_register(SRCS "ipc.c"
|
||||
INCLUDE_DIRS "include")
|
|
@ -0,0 +1,3 @@
|
|||
#
|
||||
# Component Makefile
|
||||
#
|
|
@ -0,0 +1,6 @@
|
|||
if(IDF_TARGET STREQUAL "esp32")
|
||||
idf_component_register(SRC_DIRS "."
|
||||
PRIV_INCLUDE_DIRS "."
|
||||
PRIV_REQUIRES unity test_utils)
|
||||
endif()
|
||||
|
|
@ -0,0 +1 @@
|
|||
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive
|
|
@ -1,11 +1,13 @@
|
|||
#include <stdio.h>
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "unity.h"
|
||||
#if !CONFIG_FREERTOS_UNICORE
|
||||
#include "esp_ipc.h"
|
||||
#endif
|
||||
#include "esp_log.h"
|
||||
#include "sdkconfig.h"
|
||||
|
||||
#if !CONFIG_FREERTOS_UNICORE
|
||||
static void test_func_ipc_cb(void *arg)
|
||||
|
@ -120,6 +122,6 @@ TEST_CASE("Test multiple ipc_calls", "[ipc]")
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif /* !CONFIG_FREERTOS_UNICORE */
|
||||
#endif /* CONFIG_ESP_IPC_USE_CALLERS_PRIORITY */
|
||||
|
||||
#endif // CONFIG_ESP_IPC_USE_CALLERS_PRIORITY
|
||||
#endif /* !CONFIG_FREERTOS_UNICORE */
|
|
@ -704,7 +704,6 @@ TEST_CASE("Can start/stop timer from ISR context", "[esp_timer]")
|
|||
|
||||
#include "soc/dport_reg.h"
|
||||
#include "soc/frc_timer_reg.h"
|
||||
#include "esp_ipc.h"
|
||||
static bool task_stop;
|
||||
static bool time_jumped;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
idf_component_register(SRC_DIRS .
|
||||
PRIV_INCLUDE_DIRS .
|
||||
PRIV_REQUIRES unity test_utils
|
||||
PRIV_REQUIRES unity test_utils esp_ipc
|
||||
)
|
|
@ -2,7 +2,6 @@
|
|||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "unity.h"
|
||||
#include "esp_ipc.h"
|
||||
#include "test_utils.h"
|
||||
|
||||
static void mutex_release_task(void* arg)
|
||||
|
|
|
@ -11,7 +11,9 @@
|
|||
#include "freertos/task.h"
|
||||
#include <freertos/semphr.h>
|
||||
#include "driver/timer.h"
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
#include "esp_ipc.h"
|
||||
#endif
|
||||
#include "unity.h"
|
||||
#include "test_utils.h"
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* Tests for FreeRTOS task suspend & resume */
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "sdkconfig.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/semphr.h"
|
||||
|
@ -14,9 +14,11 @@
|
|||
|
||||
#include "driver/timer.h"
|
||||
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
#include "esp_ipc.h"
|
||||
#endif
|
||||
#include "esp_freertos_hooks.h"
|
||||
#include "sdkconfig.h"
|
||||
|
||||
|
||||
#ifdef CONFIG_IDF_TARGET_ESP32S2
|
||||
#define int_clr_timers int_clr
|
||||
|
|
|
@ -41,7 +41,7 @@ else()
|
|||
"spi_flash_os_func_noos.c")
|
||||
|
||||
list(APPEND srcs ${cache_srcs})
|
||||
set(priv_requires bootloader_support app_update soc)
|
||||
set(priv_requires bootloader_support app_update soc esp_ipc)
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
|
|
|
@ -32,7 +32,9 @@
|
|||
#include <soc/soc.h>
|
||||
#include <soc/dport_reg.h>
|
||||
#include "sdkconfig.h"
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
#include "esp_ipc.h"
|
||||
#endif
|
||||
#include "esp_attr.h"
|
||||
#include "esp_intr_alloc.h"
|
||||
#include "esp_spi_flash.h"
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <soc/dport_reg.h>
|
||||
#include <soc/soc_memory_layout.h>
|
||||
#include "sdkconfig.h"
|
||||
#include "esp_ipc.h"
|
||||
#include "esp_attr.h"
|
||||
#include "esp_spi_flash.h"
|
||||
#include "esp_flash_encrypt.h"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include <soc/dport_reg.h>
|
||||
#include <soc/soc_memory_layout.h>
|
||||
#include "sdkconfig.h"
|
||||
#include "esp_ipc.h"
|
||||
#include "esp_attr.h"
|
||||
#include "esp_spi_flash.h"
|
||||
#include "esp_log.h"
|
||||
|
|
|
@ -232,7 +232,7 @@ INPUT = \
|
|||
## Hooks
|
||||
$(IDF_PATH)/components/esp_common/include/esp_freertos_hooks.h \
|
||||
## Inter-Processor Call
|
||||
$(IDF_PATH)/components/esp_common/include/esp_ipc.h \
|
||||
$(IDF_PATH)/components/esp_ipc/include/esp_ipc.h \
|
||||
## Call Function with External stack
|
||||
$(IDF_PATH)/components/esp_common/include/esp_expression_with_stack.h \
|
||||
## Over The Air Updates (OTA)
|
||||
|
|
|
@ -6,6 +6,6 @@ idf_component_register(SRCS "ccomp_timer.c"
|
|||
INCLUDE_DIRS include
|
||||
PRIV_INCLUDE_DIRS private_include
|
||||
REQUIRES spi_flash idf_test unity
|
||||
PRIV_REQUIRES perfmon)
|
||||
PRIV_REQUIRES perfmon esp_ipc)
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include "freertos/semphr.h"
|
||||
|
||||
#include "esp_log.h"
|
||||
#include "esp_ipc.h"
|
||||
#include "esp_intr_alloc.h"
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include "xtensa/core-macros.h"
|
||||
#include "xtensa/xt_perf_consts.h"
|
||||
#include "xtensa-debug-module.h"
|
||||
#include "esp_ipc.h"
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
#include "esp32/clk.h"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
idf_component_register(SRC_DIRS "."
|
||||
PRIV_INCLUDE_DIRS "."
|
||||
PRIV_REQUIRES unity test_utils perfmon)
|
||||
PRIV_REQUIRES unity test_utils perfmon esp_ipc)
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#ifndef CONFIG_FREERTOS_UNICORE
|
||||
#include "esp_ipc.h"
|
||||
#endif
|
||||
|
||||
#include "unity.h"
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
#include "eri.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_ipc.h"
|
||||
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# This config is split between targets since different component needs to be included (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs
|
||||
TEST_COMPONENTS=freertos esp32 esp_ipc esp_timer driver heap pthread soc spi_flash vfs
|
|
@ -1,3 +1,3 @@
|
|||
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_ipc esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32s2"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_ipc esp_timer driver heap pthread soc spi_flash vfs
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# This config is split between targets since different component needs to be included (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_COMPONENTS=driver esp32 esp_timer spi_flash
|
||||
TEST_COMPONENTS=driver esp32 esp_ipc esp_timer spi_flash
|
||||
CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_timer mbedtls spi_flash test_utils heap pthread soc
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_ipc esp_timer mbedtls spi_flash test_utils heap pthread soc
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
||||
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_COMPONENTS=esp32 esp_timer mbedtls spi_flash heap pthread soc
|
||||
TEST_COMPONENTS=esp32 esp_ipc esp_timer mbedtls spi_flash heap pthread soc
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
|
||||
CONFIG_SPIRAM_OCCUPY_NO_HOST=y
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs
|
||||
TEST_COMPONENTS=freertos esp32 esp_ipc esp_timer driver heap pthread soc spi_flash vfs
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# This config is split between targets since different component needs to be included (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_ipc esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32s2"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_ipc esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_ipc esp_timer driver heap pthread soc spi_flash vfs test_utils
|
||||
CONFIG_MEMMAP_SMP=n
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
|
||||
CONFIG_IDF_TARGET="esp32s2"
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs
|
||||
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_ipc esp_timer driver heap pthread soc spi_flash vfs
|
||||
CONFIG_MEMMAP_SMP=n
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y
|
||||
|
|
Ładowanie…
Reference in New Issue