# Проверяем, что цель интерфейса линкера доступна
if(TARGET zephyr_interface)
# Создаем временный файл с инструкциями для линкера прямо в директории сборки
file(WRITE ${CMAKE_BINARY_DIR}/debug_sections_lma.ld
"SECTION_PROLOGUE(.debug_info,,) { *(.debug_info) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_abbrev,,) { *(.debug_abbrev) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_line,,) { *(.debug_line) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_frame,,) { *(.debug_frame) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_str,,) { *(.debug_str) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_loc,,) { *(.debug_loc) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_ranges,,) { *(.debug_ranges) } GROUP_LINK_IN(FLASH)\n"
"SECTION_PROLOGUE(.debug_aranges,,) { *(.debug_aranges) } GROUP_LINK_IN(FLASH)\n"
)
# Внедряем этот файл в секцию дебага Zephyr, не меняя файлы самой ОС
zephyr_linker_sources(SECTIONS ${CMAKE_BINARY_DIR}/debug_sections_lma.ld)
endif()