zephyr/modules/segger/CMakeLists.txt
Jordan Yates 4a6e478d71 modules: segger: RTT control block alignment
Make the alignment of the RTT control block configurable, defaulting to
16 bytes. The default is chosen as PyOCD fails to discover the control
block if the 16 byte ID array falls across a 32 byte boundary.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-02-06 14:46:20 +01:00

32 lines
1.0 KiB
CMake

if(CONFIG_USE_SEGGER_RTT)
zephyr_library()
zephyr_library_compile_definitions(SEGGER_RTT_ALIGNMENT=CONFIG_SEGGER_RTT_CB_ALIGNMENT)
set(SEGGER_DIR ${ZEPHYR_CURRENT_MODULE_DIR})
zephyr_include_directories_ifdef(CONFIG_USE_SEGGER_RTT
${SEGGER_DIR}/SEGGER
${SEGGER_DIR}/Config
)
zephyr_library_sources(
${SEGGER_DIR}/SEGGER/SEGGER_RTT.c
SEGGER_RTT_zephyr.c
)
zephyr_library_sources_ifdef(CONFIG_SEGGER_SYSTEMVIEW ${SEGGER_DIR}/SEGGER/SEGGER_SYSVIEW.c)
# Using sort key AAA to ensure that we are placed at start of RAM
zephyr_linker_sources_ifdef(CONFIG_SEGGER_RTT_SECTION_CUSTOM RAM_SECTIONS SORT_KEY aaa segger_rtt.ld)
endif()
if(CONFIG_SEGGER_DEBUGMON)
if(!CONFIG_USE_SEGGER_RTT)
zephyr_library()
endif()
set(SEGGER_DIR ${ZEPHYR_CURRENT_MODULE_DIR})
zephyr_include_directories_ifdef(CONFIG_SEGGER_DEBUGMON
${SEGGER_DIR}/SEGGER/DebugMon/include
)
zephyr_library_sources(
${SEGGER_DIR}/SEGGER/DebugMon/JLINK_MONITOR.c
${SEGGER_DIR}/SEGGER/DebugMon/JLINK_MONITOR_ISR_SES.s
)
endif()