1# Copyright 2025 NXP
2# SPDX-License-Identifier: Apache-2.0
3
4add_custom_command(
5    OUTPUT ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.reset.bin
6    DEPENDS ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf
7    COMMAND ${CMAKE_OBJCOPY}
8    -Obinary ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.reset.bin
9    --only-section=.ResetVector.text
10)
11
12add_custom_command(
13    OUTPUT ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.text.bin
14    DEPENDS ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf
15    COMMAND ${CMAKE_OBJCOPY}
16    -Obinary ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.text.bin
17    --only-section=.WindowVectors.text
18    --only-section=.*Vector.text
19    --only-section=!.ResetVector.text
20    --only-section=.iram.text
21    --only-section=.text
22)
23
24add_custom_command(
25    OUTPUT ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.data.bin
26    DEPENDS ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf
27    COMMAND ${CMAKE_OBJCOPY}
28    -Obinary ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.elf ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.data.bin
29    --only-section=.rodata
30    --only-section=initlevel
31    --only-section=sw_isr_table
32    --only-section=device_area
33    --only-section=device_states
34    --only-section=service_area
35    --only-section=.noinit
36    --only-section=.data
37    --only-section=.bss
38    --only-section=log_*_area
39    --only-section=k_*_area
40    --only-section=*_api_area
41)
42
43add_custom_target(
44    dsp_bin ALL
45    DEPENDS
46    ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.reset.bin
47    ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.text.bin
48    ${APPLICATION_BINARY_DIR}/zephyr/${CONFIG_KERNEL_BIN_NAME}.data.bin
49)
50