• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#===============================================================================
2# @brief    cmake file
3# Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2023. All rights reserved.
4#===============================================================================
5
6if (${TARGET_NAME} STREQUAL "flashboot")
7if (EXISTS ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg)
8    if (NOT ${SEC_BOOT} STREQUAL "")
9        add_custom_target(CONCAT_BIN ALL
10            COMMAND ${Python3_EXECUTABLE} ${CONCAT_TOOL} ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${SEC_BOOT}/sec_boot.bin ${PROJECT_BINARY_DIR}/flashboot.bin ${SEC_BOOT_SIZE} ${PROJECT_BINARY_DIR}/flashboot.bin
11            COMMENT "concat bin"
12            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
13            DEPENDS GENERAT_BIN
14        )
15    endif()
16    add_custom_target(GENERAT_SIGNBIN ALL
17        COMMAND ${SIGN_TOOL} 0 ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg 1>nul 2>nul &&
18                ${CP} ${PROJECT_BINARY_DIR}/flashboot_sign_a.bin ${PROJECT_BINARY_DIR}/flashboot_sign_b.bin
19        COMMENT "sign file:gen boot sign file"
20        WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
21        DEPENDS GENERAT_BIN
22    )
23    if (NOT ${SEC_BOOT} STREQUAL "")
24        add_dependencies(GENERAT_SIGNBIN CONCAT_BIN)
25    endif()
26    if (${UPDATE_BIN})
27        string(REPLACE "_" "-" TARGET_DIR ${BUILD_TARGET_NAME})
28        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
29            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
30        endif()
31        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
32            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
33        endif()
34        add_custom_target(COPY_SIGNBIN ALL
35            COMMAND ${CP} ${ROOT_DIR}/output/${CHIP}/acore/${TARGET_DIR}/flashboot_sign_a.bin ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR}/flashboot_sign_a.bin  &&
36                    ${CP} ${ROOT_DIR}/output/${CHIP}/acore/${TARGET_DIR}/flashboot_sign_a.bin ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR}/flashboot_sign_b.bin
37            COMMENT "copy bin file"
38            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
39            DEPENDS GENERAT_SIGNBIN
40        )
41    endif()
42endif()
43elseif (${TARGET_NAME} STREQUAL "loaderboot")
44if (EXISTS ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg)
45    add_custom_target(GENERAT_SIGNBIN ALL
46        COMMAND ${SIGN_TOOL} 0 ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg 1>nul 2>nul
47        COMMENT "sign file:gen boot sign file"
48        WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
49        DEPENDS GENERAT_BIN
50    )
51    if (${UPDATE_BIN})
52        string(REPLACE "_" "-" TARGET_DIR ${BUILD_TARGET_NAME})
53        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
54            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
55        endif()
56        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
57            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
58        endif()
59        add_custom_target(COPY_SIGNBIN ALL
60            COMMAND ${CP} ${ROOT_DIR}/output/${CHIP}/acore/${TARGET_DIR}/loaderboot_sign.bin ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR}/loaderboot_sign.bin
61            COMMENT "copy bin file"
62            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
63            DEPENDS GENERAT_SIGNBIN
64        )
65    endif()
66endif()
67elseif (${TARGET_NAME} MATCHES "application*" OR ${TARGET_NAME} STREQUAL "ate_debug" OR ${TARGET_NAME} STREQUAL "ate" OR
68        ${TARGET_NAME} MATCHES "protocol*" )
69if (EXISTS ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg)
70add_custom_target(GENERAT_SIGNBIN ALL
71    COMMAND ${SIGN_TOOL} 0 ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg  1>nul 2>nul
72    COMMENT "sign file:gen boot sign file"
73    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
74    DEPENDS GENERAT_BIN
75)
76endif()
77elseif (${TARGET_NAME} MATCHES "control_ws53*")
78if (EXISTS ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg)
79add_custom_target(GENERAT_SIGNBIN ALL
80    COMMAND ${SIGN_TOOL} 0 ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/${BUILD_TARGET_NAME}.cfg
81    COMMENT "sign file:gen boot sign file"
82    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
83    DEPENDS GENERAT_BIN
84)
85endif()
86endif()
87if (${CHIP} STREQUAL "ws63")
88add_custom_target(WS63_GENERAT_SIGNBIN ALL
89    COMMAND ${Python3_EXECUTABLE} ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/params_and_bin_sign.py ${TARGET_NAME}
90    COMMENT "ws63 image sign"
91    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
92    DEPENDS GENERAT_BIN
93)
94
95if(TARGET GENERAT_ROM_PATCH)
96    add_dependencies(WS63_GENERAT_SIGNBIN GENERAT_ROM_PATCH)
97endif()
98endif()
99
100if (${CHIP} STREQUAL "ws53")
101add_custom_target(WS53_GENERAT_SIGNBIN ALL
102    COMMAND sh ${ROOT_DIR}/build/config/target_config/${CHIP}/sign_config/params_and_bin_sign.sh
103    COMMENT "ws53 image sign"
104    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
105    DEPENDS GENERAT_BIN
106)
107
108if(TARGET GENERAT_ROM_PATCH)
109    add_dependencies(WS53_GENERAT_SIGNBIN GENERAT_ROM_PATCH)
110endif()
111endif()
112
113if(TARGET GENERAT_ROM_PATCH AND TARGET GENERAT_SIGNBIN)
114    add_dependencies(GENERAT_SIGNBIN GENERAT_ROM_PATCH)
115endif()
116
117if (${TARGET_NAME} STREQUAL "sec_boot")
118    if (${UPDATE_BIN})
119        string(REPLACE "_" "-" TARGET_DIR ${BUILD_TARGET_NAME})
120        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
121            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin)
122        endif()
123        if (NOT EXISTS ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
124            file(MAKE_DIRECTORY ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR})
125        endif()
126        add_custom_target(COPY_SEC_BOOTBIN ALL
127            COMMAND ${CP} ${ROOT_DIR}/output/${CHIP}/acore/${TARGET_DIR}/sec_boot.bin ${ROOT_DIR}/interim_binary/${CHIP}/bin/boot_bin/${TARGET_DIR}/sec_boot.bin
128            COMMENT "copy bin file"
129            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
130            DEPENDS GENERAT_BIN
131        )
132    endif()
133endif()
134
135if(${GEN_SEC_BIN} AND ${GEN_SEC_BIN} STREQUAL "True")
136    if(${CORE} STREQUAL "acore")
137        if (TARGET GENERAT_SIGNBIN)
138            add_custom_target(GENERAT_SEC_IMAGE ALL
139                COMMAND ${CMAKE_OBJCOPY} --enable_sec ${PROJECT_BINARY_DIR}/${BIN_NAME}_sign.bin
140                WORKING_DIRECTORY ${COMPILER_ROOT}/bin
141                DEPENDS GENERAT_SIGNBIN
142            )
143        else()
144            add_custom_target(GENERAT_SEC_IMAGE ALL
145                COMMAND ${CMAKE_OBJCOPY} --enable_sec ${PROJECT_BINARY_DIR}/${BIN_NAME}.bin
146                WORKING_DIRECTORY ${COMPILER_ROOT}/bin
147                DEPENDS GENERAT_BIN
148            )
149        endif()
150    elseif(${CORE} STREQUAL "bt_core")
151        add_custom_target(GENERAT_SEC_IMAGE ALL
152            COMMAND ${SEC_OBJCPY_TOOL} --enable_sec ${PROJECT_BINARY_DIR}/${BIN_NAME}.bin
153            WORKING_DIRECTORY ${SEC_TOOL_DIR}
154            DEPENDS GENERAT_ROM_PATCH
155        )
156    endif()
157endif()
158
159