Загрузка данных


if(TARGET zephyr_interface)
    # 1. Создаем кастомный таргет, который выполнится СРАЗУ после генерации prebuilt-версии
    add_custom_target(backup_debug_symbols ALL)
    add_dependencies(backup_debug_symbols zephyr_prebuilt)

    # 2. Копируем prebuilt-ELF со всеми дебаг-символами в файл zephyr_debug.elf.
    # Этот файл будет содержать абсолютно всю отладку и правильные адреса вашей SDRAM.
    add_custom_command(
        TARGET backup_debug_symbols
        POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy 
            ${CMAKE_BINARY_DIR}/zephyr/zephyr_prebuilt.elf 
            ${CMAKE_BINARY_DIR}/zephyr/zephyr_debug.elf
        COMMENT "--> Отладочные символы успешно сохранены в zephyr_debug.elf для GDB/west debug"
    )

    # 3. Говорим компилятору GCC не пихать тяжелую отладку в финальный zephyr.elf,
    # чтобы встроенный objcopy со звездочкой (*+3758096384) перестал падать.
    # Оригинальный флаг -gdwarf-4 останется для сборки библиотек, но на финальном этапе линковки debug отсечется.
    target_link_options(zephyr_final_interface INTERFACE "-Wl,--strip-debug")
endif()