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