mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
a1ba660b4a
The implicit promise of heap_alloc_caps() and friends is that the memory it returns is fit for the purpose as requested in the caps field. Before this commit, that did not happen; e.g. DMA-capable memory wass returned from a correct region, but not aligned/sized to something the DMA subsystem can handle. This commit adds an API to the esp_mm component that is then used by the heap component to adjust allocation alignment, caps and size dependent on the hardware requirement of the requested allocation caps.
30 lines
757 B
CMake
30 lines
757 B
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(includes "include")
|
|
|
|
# Note: requires spi_flash for cache_utils, will be refactored
|
|
set(priv_requires heap spi_flash)
|
|
|
|
set(srcs)
|
|
|
|
if(NOT CONFIG_APP_BUILD_TYPE_PURE_RAM_APP)
|
|
set(srcs "esp_mmu_map.c"
|
|
"port/${target}/ext_mem_layout.c"
|
|
"esp_cache.c")
|
|
|
|
if(CONFIG_IDF_TARGET_ESP32)
|
|
list(APPEND srcs "cache_esp32.c")
|
|
endif()
|
|
endif()
|
|
|
|
list(APPEND srcs "heap_align_hw.c")
|
|
|
|
idf_component_register(SRCS ${srcs}
|
|
INCLUDE_DIRS ${includes}
|
|
PRIV_REQUIRES ${priv_requires}
|
|
LDFRAGMENTS linker.lf)
|