mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ab1bd08ab9
On xtensa architecture, the call to __assert_func uses a reference to __func__ that can sometimes be placed in flash. Since the __asert_func can be called from functions in IRAM the check_callgraph script can report an error when checking for invalid calls from IRAM to flash sections. However, the __asert_func prevents this scenario at runtime so the check_callgraph script reports a 'flas positive' situation. For this reasson, all references to __func__$x found prior to a call to __assert_func are droped in the parsing of the rtl files.
21 lines
877 B
CMake
21 lines
877 B
CMake
# The following lines of boilerplate have to be in your project's
|
|
# CMakeLists in this exact order for cmake to work correctly
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
|
project(test_heap)
|
|
|
|
if(CONFIG_COMPILER_DUMP_RTL_FILES)
|
|
add_custom_target(check_test_app_sections ALL
|
|
COMMAND ${PYTHON} $ENV{IDF_PATH}/tools/ci/check_callgraph.py
|
|
--rtl-dir ${CMAKE_BINARY_DIR}/esp-idf/heap/
|
|
--elf-file ${CMAKE_BINARY_DIR}/test_heap.elf
|
|
find-refs
|
|
--from-sections=.iram0.text
|
|
--to-sections=.flash.text,.flash.rodata
|
|
--ignore-symbols=__func__/__assert_func,__func__/heap_caps_alloc_failed
|
|
--exit-code
|
|
DEPENDS ${elf}
|
|
)
|
|
endif()
|