mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
bd9b921713
heap: ported tlsf allocator into multi heap heap_host_tests: added tlsf allocator into host test heap_host_test: update freebytes after using free heap_tests: tlsf now passing on host tests without poisoning multi_heap: added support for memalign using tlsf implementation heap_caps: removed heap_caps_aligned_free heap/test: fixed broken aligned alloc test build heap: added poisoning pattern when blocks are being merged heap/tests: added timing tests for memory allocation heap: reduced tlsf structure overhead heap/tlsf: made all short functions inside of tlsf module as inline to improve timings heap: moved tlsf heap routines outside of flash memory newlib: linked multiheap memalign with newlib memalign function heap: moved block member functions to a separate file so multi_heap can use the functions heap/test: improved the tlsf timing test heap/test: added memalign on aligned alloc tests heap: moved tlsf configuration constants to a separated file heap: added random allocations test with timings heap: modified the calculation of heap free bytes heap: make aligned free true deprecated functions and update their documentation heap: add extra assert after successive mallocs on small allocation host test heap: remove legacy aligned alloc implementation. performance: added malloc and free time performance default values
51 lines
1.2 KiB
CMake
51 lines
1.2 KiB
CMake
set(srcs
|
|
"heap_caps.c"
|
|
"heap_caps_init.c"
|
|
"multi_heap.c"
|
|
"heap_tlsf.c")
|
|
|
|
if(NOT CONFIG_HEAP_POISONING_DISABLED)
|
|
list(APPEND srcs "multi_heap_poisoning.c")
|
|
endif()
|
|
|
|
if(CONFIG_HEAP_TASK_TRACKING)
|
|
list(APPEND srcs "heap_task_info.c")
|
|
endif()
|
|
|
|
if(CONFIG_HEAP_TRACING_STANDALONE)
|
|
list(APPEND srcs "heap_trace_standalone.c")
|
|
set_source_files_properties(heap_trace_standalone.c
|
|
PROPERTIES COMPILE_FLAGS
|
|
-Wno-frame-address)
|
|
endif()
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
INCLUDE_DIRS include
|
|
LDFRAGMENTS linker.lf
|
|
PRIV_REQUIRES soc)
|
|
|
|
if(CONFIG_HEAP_TRACING)
|
|
set(WRAP_FUNCTIONS
|
|
calloc
|
|
malloc
|
|
free
|
|
realloc
|
|
heap_caps_malloc
|
|
heap_caps_free
|
|
heap_caps_realloc
|
|
heap_caps_malloc_default
|
|
heap_caps_realloc_default)
|
|
|
|
foreach(wrap ${WRAP_FUNCTIONS})
|
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=${wrap}")
|
|
endforeach()
|
|
endif()
|
|
|
|
if(NOT CMAKE_BUILD_EARLY_EXPANSION)
|
|
idf_build_get_property(build_components BUILD_COMPONENTS)
|
|
if(freertos IN_LIST build_components)
|
|
target_compile_options(${COMPONENT_TARGET} PRIVATE "-DMULTI_HEAP_FREERTOS")
|
|
endif()
|
|
endif()
|
|
|