mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
39 lines
1.3 KiB
CMake
39 lines
1.3 KiB
CMake
idf_build_get_property(target IDF_TARGET)
|
|
|
|
if(${target} STREQUAL "linux")
|
|
return() # This component is not supported by the POSIX/Linux simulator
|
|
endif()
|
|
|
|
set(srcs)
|
|
set(includes "include" "${target}/include")
|
|
|
|
# The cache HAL is always built for normal apps, where the flash cache is enabled.
|
|
# Pure RAM apps do not use the flash cache, except on chips where internal memory
|
|
# accesses also go through the L1 cache (e.g. ESP32-P4): cache synchronization is
|
|
# still required around internal RAM DMA operations on such chips.
|
|
if(NOT CONFIG_APP_BUILD_TYPE_PURE_RAM_APP OR CONFIG_SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE)
|
|
if(${target} STREQUAL "esp32")
|
|
list(APPEND srcs "esp32/cache_hal_esp32.c")
|
|
else()
|
|
list(APPEND srcs "cache_hal.c")
|
|
endif()
|
|
endif()
|
|
|
|
# The MMU HAL implements external memory (flash/PSRAM) address translation.
|
|
# Pure RAM apps do not map any external memory, so it is not built for them.
|
|
if(NOT CONFIG_APP_BUILD_TYPE_PURE_RAM_APP AND CONFIG_SOC_MMU_PERIPH_NUM)
|
|
list(APPEND srcs "mmu_hal.c")
|
|
endif()
|
|
|
|
# Target-specific cache peripheral data
|
|
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${target}/cache_periph.c")
|
|
list(APPEND srcs "${target}/cache_periph.c")
|
|
endif()
|
|
|
|
idf_component_register(
|
|
SRCS ${srcs}
|
|
INCLUDE_DIRS ${includes}
|
|
REQUIRES soc hal
|
|
LDFRAGMENTS linker.lf
|
|
)
|