1 Star 0 Fork 67

Wisshen/RDA8910_CSDK

forked from Becase/RDA8910_CSDK 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CMakeLists.txt 21.95 KB
一键复制 编辑 原始数据 按行查看 历史
Becase 提交于 2020-08-19 16:30 . update
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
# Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
# All rights reserved.
#
# This software is supplied "AS IS" without any warranties.
# RDA assumes no responsibility or liability for the use of the software,
# conveys no license or title under any patent, copyright, or mask work
# right to the product. RDA reserves the right to make changes in the
# software without notification. RDA also make no representation or
# warranty that such application will be suitable for the specified use
# without further testing or modification.
cmake_minimum_required(VERSION 3.13)
set(SOURCE_TOP_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(BINARY_TOP_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_C_COMPILER_FORCED 1)
set(CMAKE_CXX_COMPILER_FORCED 1)
add_definitions(-D_WINSOCKAPI_)
#DEFINED BUILD_TARGET
if(DEFINED ENV{BUILD_TARGET})
set(BUILD_TARGET $ENV{BUILD_TARGET})
message("BUILD_TARGET: ${BUILD_TARGET}")
else()
message(FATAL_ERROR "BUILD_TARGET: UNDEFINED")
endif()
#DEFINED CSDK_PRO
if(DEFINED ENV{CSDK_PRO})
set(CSDK_PRO $ENV{CSDK_PRO})
add_definitions(-DCSDK_PRO="${CSDK_PRO}")
message("CSDK_PRO: ${CSDK_PRO}")
else()
message(FATAL_ERROR "CSDK_PRO: UNDEFINED")
endif()
#DEFINED CSDK_VER
if(DEFINED ENV{CSDK_VER})
set(CSDK_VER $ENV{CSDK_VER})
add_definitions(-DCSDK_VER="${CSDK_VER}")
message("CSDK_VER: ${CSDK_VER} ")
else()
message(FATAL_ERROR "CSDK_VER: UNDEFINED")
endif()
#select FOTA_FLAG app or core or all
if(DEFINED ENV{FOTA_FLAG})
set(FOTA_FLAG $ENV{FOTA_FLAG})
set(FOTA_TYPE $ENV{FOTA_TYPE})
if (NOT (${FOTA_FLAG} STREQUAL "fota"))
message(FATAL_ERROR "FOTA_FLAG: ${FOTA_FLAG} != fota")
endif()
if (NOT ((${FOTA_TYPE} STREQUAL "app") OR (${FOTA_TYPE} STREQUAL "core") OR (${FOTA_TYPE} STREQUAL "all")))
message(FATAL_ERROR "FOTA_TYPE: ${FOTA_TYPE} != app or core or all")
endif()
message("${FOTA_FLAG}=${FOTA_TYPE}")
endif()
#select core_type 0=iot_SDK_720U 1:iot_SDK_720U_TTS
if(DEFINED ENV{AM_MODEL})
set(AM_MODEL $ENV{AM_MODEL})
if ((${AM_MODEL} STREQUAL "iot_SDK_720U"))
message("core/iot_SDK_720U")
set(core_type 0)
include(${CMAKE_SOURCE_DIR}/core/${AM_MODEL}/memd/version.cmake)
set(core_name CSDK_RDA8910)
set(core_vername CSDK_${CORE_VER}_RDA8910)
set(core_bin_dir ${CMAKE_SOURCE_DIR}/core/iot_SDK_720U)
set(core_stub_o ${core_bin_dir}/lib/core_stub.o)
include(${core_bin_dir}/memd/core_config.cmake)
include(${core_bin_dir}/memd/partinfo.cmake)
include_directories(${core_bin_dir}/memd)
if(CONFIG_BUILD_LUA)
set(csdk_target Air720U_CSDK_app_${CSDK_PRO})
else()
set(csdk_target Air720U_CSDK_demo_${CSDK_PRO})
endif(CONFIG_BUILD_LUA)
set(APP_IMG_NAME "8915DM_cat1_CSDK")
elseif((${AM_MODEL} STREQUAL "iot_SDK_720U_TTS"))
message("core/iot_SDK_720U_TTS")
set(core_type 1)
add_definitions(-DTTS_ENABLE)
include(${CMAKE_SOURCE_DIR}/core/${AM_MODEL}/memd/version.cmake)
set(core_name CSDK_RDA8910_TTS)
set(core_vername CSDK_${CORE_VER}_RDA8910_TTS)
set(core_bin_dir ${CMAKE_SOURCE_DIR}/core/iot_SDK_720U_TTS)
set(core_stub_o ${core_bin_dir}/lib/core_stub.o)
include(${core_bin_dir}/memd/core_config.cmake)
include(${core_bin_dir}/memd/partinfo.cmake)
include_directories(${core_bin_dir}/memd)
set(csdk_target Air720U_CSDK_TTS_demo_${CSDK_PRO})
set(APP_IMG_NAME "8915DM_cat1_CSDK_TTS")
else()
message(FATAL_ERROR "AM_MODEL: ${AM_MODEL} != iot_SDK_720U_TTS or iot_SDK_720U")
endif()
endif()
set(out_hex_dir ${CMAKE_CURRENT_BINARY_DIR}/hex)
set(out_lib_dir ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(out_rel_dir ${CMAKE_CURRENT_BINARY_DIR}/rel)
set(out_inc_dir ${CMAKE_CURRENT_BINARY_DIR}/include)
set(tools_dir ${CMAKE_CURRENT_SOURCE_DIR}/tools)
set(flash_ldscript ${SOURCE_TOP_DIR}/ldscripts/app_flashimg.ld)
set(file_ldscript ${SOURCE_TOP_DIR}/ldscripts/app_fileimg.ld)
set(cmd_mkappimg dtools mkappimg)
set(pacgen_py ${tools_dir}/pacgen.py)
set(gdbComGen_py ${tools_dir}/gdbComGen.py)
#/*+\DEL\chenzhimin\2020.07.8\ */
# set(pacgen_core_py ${tools_dir}/combine_core.py)
#/*-\DEL\chenzhimin\2020.07.8\ */
include(cmake/toolchain-gcc.cmake)
#/*+\NEW\chenzhimin\2020.07.8\ */
include(cmake/extension.cmake)
include(config.cmake)
if( NOT CONFIG_BOOT_FLASH_ADDRESS )
math(EXPR CONFIG_BOOT_FLASH_ADDRESS "${CONFIG_NOR_PHY_ADDRESS}+${CONFIG_BOOT_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR CONFIG_APP_FLASH_ADDRESS "${CONFIG_NOR_PHY_ADDRESS}+${CONFIG_APP_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR CONFIG_FS_MODEM_FLASH_ADDRESS "${CONFIG_NOR_PHY_ADDRESS}+${CONFIG_FS_MODEM_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR CONFIG_FS_SYS_FLASH_ADDRESS "${CONFIG_NOR_PHY_ADDRESS}+${CONFIG_FS_SYS_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
endif()
set(CONFIG_NVBIN_FIXED_SIZE 0x20000)
#/*-\NEW\chenzhimin\2020.07.8\ */
set(BUILD_SHARED_LIBS OFF)
project(core C CXX ASM)
#/*+\NEW\chenzhimin\2020.07.8\ add elua*/
if(CONFIG_BUILD_LUA)
include_directories(components/kernel_inc)
add_definitions(-DAM_LUA_SUPPORT)
math(EXPR CONFIG_LUA_FLASH_ADDRESS "${CONFIG_NOR_PHY_ADDRESS}+${CONFIG_LUA_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR CONFIG_APPIMG_FLASH_SIZE "${CONFIG_LUA_FLASH_OFFSET}-${CONFIG_APPIMG_FLASH_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
add_subdirectory_if_exist(app/elua)
endif(CONFIG_BUILD_LUA)
#/*-\NEW\chenzhimin\2020.07.8\ add elua*/
include_directories(components/include components/openat_inc)
include_directories(components/newlib/include)
function(cpp_only target file)
add_library(${target} OBJECT ${file})
set_source_files_properties(${file} PROPERTIES LANGUAGE C)
target_compile_options(${target} PRIVATE -E -P -x c)
endfunction()
function(add_appimg target ldscript)
set(gen_ldscript ${target}_ldscript)
set(target_map_file ${out_hex_dir}/${target}.map)
set(target_img_file ${out_hex_dir}/${target}.img)
cpp_only(${gen_ldscript} ${ldscript})
add_executable(${target} ${ARGN} ${core_stub_o})
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${out_hex_dir})
target_link_libraries(${target} PRIVATE -T $<TARGET_OBJECTS:${gen_ldscript}>)
target_link_libraries(${target} PRIVATE -Wl,-Map=${target_map_file} -nostdlib -Wl,--gc-sections)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${cmd_mkappimg} $<TARGET_FILE:${target}> ${target_img_file}
BYPRODUCTS ${target_img_file} ${target_map_file}
)
endfunction()
#/*+\DEL\chenzhimin\2020.07.8\*/
# configure_file(${SOURCE_TOP_DIR}/components/lib/fdl1.img ${out_hex_dir}/fdl1.img COPYONLY)
# configure_file(${SOURCE_TOP_DIR}/components/lib/fdl2.img ${out_hex_dir}/fdl2.img COPYONLY)
#/*-\DEL\chenzhimin\2020.07.8\*/
#/*+\ADD\chenzhimin\2020.07.8\*/
configure_file(${SOURCE_TOP_DIR}/components/lib/lua.img ${out_hex_dir}/lua.img COPYONLY)
#/*-\ADD\chenzhimin\2020.07.8\*/
#/*+\ADD\chenzhimin\2020.07.8\ add dtools*/
set(dtoolspath ${SOURCE_TOP_DIR}/tools/win32/dtools.exe)
execute_process(
COMMAND ${dtoolspath} pacdump ${core_bin_dir}/${core_name}.pac ${out_hex_dir}/oldpac
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
#/*-\ADD\chenzhimin\2020.07.8\ add dtools*/
#/*+\DEL\chenzhimin\2020.07.8\*/
# macro(pac_init_fdl cmd pac_config)
# set(${cmd}
# cfg-init --pname UIX8910_MODEM --palias "APPIMG"
# --pversion "8910 MODULE" --version "BP_R1.0.0"
# --flashtype 1 ${pac_config}
# cfg-host-fdl -a ${CONFIG_FDL1_IMAGE_START} -s ${CONFIG_FDL1_IMAGE_SIZE}
# -p ${out_hex_dir}/fdl1.img ${pac_config}
# cfg-fdl2 -a ${CONFIG_FDL2_IMAGE_START} -s ${CONFIG_FDL2_IMAGE_SIZE}
# -p ${out_hex_dir}/fdl2.img ${pac_config}
# )
# endmacro()
#/*-\DEL\chenzhimin\2020.07.8\*/
#/*+\ADD\chenzhimin\2020.07.8\*/
macro(pac_init_fdl cmd pac_config)
set(${cmd}
cfg-init --pname UIX8910_MODEM --palias "APPIMG"
--pversion "8910 MODULE" --version "BP_R1.0.0"
--flashtype 1 ${pac_config}
cfg-host-fdl -a ${CONFIG_FDL1_IMAGE_START} -s ${CONFIG_FDL1_IMAGE_SIZE}
-p ${out_hex_dir}/oldpac/fdl1.sign.img ${pac_config}
cfg-fdl2 -a ${CONFIG_FDL2_IMAGE_START} -s ${CONFIG_FDL2_IMAGE_SIZE}
-p ${out_hex_dir}/oldpac/fdl2.sign.img ${pac_config}
)
endmacro()
#/*-\ADD\chenzhimin\2020.07.8\*/
if(CONFIG_APPIMG_LOAD_FLASH)
set(target appimg_flash_delete)
set(pac_config ${out_hex_dir}/${target}.json)
set(pac_file ${out_hex_dir}/${target}.pac)
pac_init_fdl(init_fdl ${pac_config})
execute_process(
COMMAND python3 ${pacgen_py} ${init_fdl}
cfg-erase-flash -i ERASE_APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS}
-s ${CONFIG_APPIMG_FLASH_SIZE} ${pac_config}
dep-gen --base ${SOURCE_TOP_DIR} ${pac_config}
OUTPUT_VARIABLE pac_dep
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_command(OUTPUT ${pac_file}
COMMAND python3 ${pacgen_py} pac-gen ${pac_config} ${pac_file}
DEPENDS ${pacgen_py} ${pac_config} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_target(${target}_pacgen ALL DEPENDS ${pac_file})
endif()
if(CONFIG_APPIMG_LOAD_FILE)
set(target appimg_file_delete)
set(pac_config ${out_hex_dir}/${target}.json)
set(pac_file ${out_hex_dir}/${target}.pac)
pac_init_fdl(init_fdl ${pac_config})
execute_process(
COMMAND python3 ${pacgen_py} ${init_fdl}
cfg-del-appimg -i DEL_APPIMG ${pac_config}
dep-gen --base ${SOURCE_TOP_DIR} ${pac_config}
OUTPUT_VARIABLE pac_dep
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_command(OUTPUT ${pac_file}
COMMAND python3 ${pacgen_py} pac-gen ${pac_config} ${pac_file}
DEPENDS ${pacgen_py} ${pac_config} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_target(${target}_pacgen ALL DEPENDS ${pac_file})
endif()
add_subdirectory_if_exist(components/ril)
add_subdirectory_if_exist(api)
#/*+\ADD\chenzhimin\2020.07.9\*/
if( CONFIG_BUILD_APP_SSL OR
CONFIG_BUILD_APP_FTP OR
CONFIG_BUILD_APP_HTTP OR
CONFIG_BUILD_APP_LITTLEVGL OR
CONFIG_BUILD_APP_MQTT OR
CONFIG_BUILD_APP_OLED_SSD1306 OR
CONFIG_BUILD_APP_OneWire OR
CONFIG_BUILD_APP_CJSON OR
CONFIG_BUILD_APP_HTTPCLIENT OR
CONFIG_BUILD_APP_PAHO_MQTT)
add_subdirectory_if_exist(app)
endif()
#/*-\ADD\chenzhimin\2020.07.9\*/
set(target ${csdk_target})
set(hex_bin_dir ${CMAKE_SOURCE_DIR}/hex/${target})
set(hex_map_dir ${CMAKE_SOURCE_DIR}/hex/${target}_map)
set(core_map_dir ${core_bin_dir}_map)
set(hex_app_file ${hex_bin_dir}/${target}_APP.pac)
if(CONFIG_APPIMG_LOAD_FILE)
set(pac_delete_file ${out_hex_dir}/appimg_file_delete.pac)
set(hex_delete_file ${hex_bin_dir}/appimg_file_delete.pac)
elseif(CONFIG_APPIMG_LOAD_FLASH)
set(pac_delete_file ${out_hex_dir}/appimg_flash_delete.pac)
set(hex_delete_file ${hex_bin_dir}/appimg_flash_delete.pac)
endif()
set(hex_app_with_core_file ${hex_bin_dir}/${target}.pac)
set(hex_map_file ${hex_map_dir}/${core_name}.map)
set(hex_elf_file ${hex_map_dir}/${core_name}.elf)
if(CONFIG_APPIMG_LOAD_FLASH)
if(CONFIG_BUILD_LUA)
add_subdirectory_if_exist(app/elua/user)
else()
add_subdirectory_if_exist(demo/${BUILD_TARGET})
endif(CONFIG_BUILD_LUA)
target_link_libraries(${target} PRIVATE api)
#/*+\ADD\chenzhimin\2020.07.9\*/
if( CONFIG_BUILD_APP_SSL OR
CONFIG_BUILD_APP_FTP OR
CONFIG_BUILD_APP_HTTP OR
CONFIG_BUILD_APP_LITTLEVGL OR
CONFIG_BUILD_APP_MQTT OR
CONFIG_BUILD_APP_OLED_SSD1306 OR
CONFIG_BUILD_APP_OneWire OR
CONFIG_BUILD_APP_CJSON OR
CONFIG_BUILD_APP_HTTPCLIENT OR
CONFIG_BUILD_APP_PAHO_MQTT)
target_link_libraries(${target} PRIVATE app)
endif()
#/*-\ADD\chenzhimin\2020.07.9\*/
target_link_libraries(${target} PRIVATE ${libc_file_name} ${libm_file_name} ${libgcc_file_name})
#/*+\DEL\chenzhimin\2020.07.8\*/
# set(pac_config ${out_hex_dir}/${target}.json)
#/*-\DEL\chenzhimin\2020.07.8\*/
#/*+\ADD\chenzhimin\2020.07.8\*/
set(pac_config ${out_hex_dir}/${target}_APP.json)
set(pac_all_config ${out_hex_dir}/${target}.json)
#/*-\ADD\chenzhimin\2020.07.8\*/
set(pac_file ${out_hex_dir}/${target}_APP.pac)
set(pac_file_with_core ${out_hex_dir}/${target}.pac)
pac_init_fdl(init_fdl ${pac_config})
#/*+\ADD\chenzhimin\2020.07.8\*/
pac_init_fdl(init_all_fdl ${pac_all_config})
if(CONFIG_BUILD_LUA)
set(pac_app_8910
cfg-image -i APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS} -s ${CONFIG_APPIMG_FLASH_SIZE}
-p ${out_hex_dir}/${target}.img ${pac_config}
cfg-image -i LUA -a ${CONFIG_LUA_FLASH_ADDRESS} -s ${CONFIG_LUA_FLASH_SIZE}
-p ${out_hex_dir}/lua.img ${pac_config}
)
set(pac_all_8910
cfg-image -i APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS} -s ${CONFIG_APPIMG_FLASH_SIZE}
-p ${out_hex_dir}/${target}.img ${pac_all_config}
cfg-image -i LUA -a ${CONFIG_LUA_FLASH_ADDRESS} -s ${CONFIG_LUA_FLASH_SIZE}
-p ${out_hex_dir}/lua.img ${pac_all_config}
)
else()
set(pac_app_8910
cfg-image -i APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS} -s ${CONFIG_APPIMG_FLASH_SIZE}
-p ${out_hex_dir}/${target}.img ${pac_config}
)
set(pac_all_8910
cfg-image -i APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS} -s ${CONFIG_APPIMG_FLASH_SIZE}
-p ${out_hex_dir}/${target}.img ${pac_all_config}
)
endif(CONFIG_BUILD_LUA)
execute_process(
COMMAND python3 ${pacgen_py}
${init_fdl}
${pac_app_8910}
dep-gen --base ${SOURCE_TOP_DIR} ${pac_config}
OUTPUT_VARIABLE pac_dep
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
#/*-\ADD\chenzhimin\2020.07.8\*/
#/*+\DEL\chenzhimin\2020.07.8\*/
# execute_process(
# COMMAND python3 ${pacgen_py} ${init_fdl}
# cfg-image -i APPIMG -a ${CONFIG_APPIMG_FLASH_ADDRESS} -s ${CONFIG_APPIMG_FLASH_SIZE}
# -p ${out_hex_dir}/${target}.img ${pac_config}
# dep-gen --base ${SOURCE_TOP_DIR} ${pac_config}
# OUTPUT_VARIABLE pac_dep
# OUTPUT_STRIP_TRAILING_WHITESPACE
# WORKING_DIRECTORY ${SOURCE_TOP_DIR}
# )
#/*-\DEL\chenzhimin\2020.07.8\*/
add_custom_command(OUTPUT ${pac_file}
COMMAND python3 ${pacgen_py} pac-gen ${pac_config} ${pac_file}
DEPENDS ${pacgen_py} ${pac_config} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
message(!!!!!!!!!!!!!!!!!!!!!!${pac_file_with_core})
#/*+\DEL\chenzhimin\2020.07.8\*/
# ##+ zhuwangbin 2020-6-30 add sffs.img
# if (EXISTS ${out_hex_dir}/sffs.img)
# add_custom_command(OUTPUT ${pac_file_with_core}
# COMMAND python3 ${pacgen_core_py} ${out_hex_dir}/${target}.img ${pac_file_with_core} ${TTS_ENABLE} ${out_hex_dir}/sffs.img
# DEPENDS ${pacgen_core_py} ${pac_dep}
# WORKING_DIRECTORY ${SOURCE_TOP_DIR})
# else()
# add_custom_command(OUTPUT ${pac_file_with_core}
# COMMAND python3 ${pacgen_core_py} ${out_hex_dir}/${target}.img ${pac_file_with_core} ${TTS_ENABLE} NULL
# DEPENDS ${pacgen_core_py} ${pac_dep}
# WORKING_DIRECTORY ${SOURCE_TOP_DIR})
# endif()
# ##- zhuwangbin 2020-6-30 add sffs.img
#/*-\DEL\chenzhimin\2020.07.8\*/
#/*+\ADD\chenzhimin\2020.07.8\*/
pac_nvitem_8910(nvitem_all_8910 ${pac_all_config})
set(pac_other_8910
cfg-phase-check ${pac_all_config}
cfg-image -i BOOTLOADER -a ${CONFIG_BOOT_FLASH_ADDRESS} -s ${CONFIG_BOOT_FLASH_SIZE}
-p ${out_hex_dir}/oldpac/boot.sign.img ${pac_all_config}
cfg-image -i AP -a ${CONFIG_APP_FLASH_ADDRESS} -s ${CONFIG_APP_FLASH_SIZE}
-p ${out_hex_dir}/oldpac/${APP_IMG_NAME}.sign.img ${pac_all_config}
cfg-image -i PS -a ${CONFIG_FS_MODEM_FLASH_ADDRESS} -s ${CONFIG_FS_MODEM_FLASH_SIZE}
-p ${out_hex_dir}/oldpac/cat1_64X128_UIS8915DM_BB_RF_SingleSim.img ${pac_all_config}
${pac_all_8910}
cfg-image -i SFFS -a ${CONFIG_FS_SYS_FLASH_ADDRESS} -s ${CONFIG_FS_SYS_FLASH_SIZE}
-p ${out_hex_dir}/oldpac/sffs.img ${pac_all_config}
cfg-erase-flash -i FLASH -a 0xFE000001 -s 0 ${pac_all_config}
cfg-nv -s ${CONFIG_NVBIN_FIXED_SIZE}
-p ${out_hex_dir}/oldpac/cat1_64X128_UIS8915DM_BB_RF_SingleSim_nvitem.bin ${pac_all_config}
)
execute_process(
COMMAND python3 ${pacgen_py}
${init_all_fdl}
${nvitem_all_8910}
${pac_other_8910}
dep-gen --base ${SOURCE_TOP_DIR} ${pac_all_config}
OUTPUT_VARIABLE pac_dep
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_command(OUTPUT ${pac_file_with_core}
COMMAND python3 ${pacgen_py} pac-gen ${pac_all_config} ${pac_file_with_core}
DEPENDS ${pacgen_py} ${pac_all_config} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
#/*-\ADD\chenzhimin\2020.07.8\*/
add_custom_target(${target}_pacgen ALL DEPENDS ${pac_file} ${pac_file_with_core})
endif()
if(CONFIG_APPIMG_LOAD_FILE)
if(CONFIG_BUILD_LUA)
add_subdirectory_if_exist(app/elua/user)
else()
add_subdirectory_if_exist(demo/${BUILD_TARGET})
endif(CONFIG_BUILD_LUA)
target_link_libraries(${target} PRIVATE ${libc_file_name} ${libm_file_name} ${libgcc_file_name})
set(pac_config ${out_hex_dir}/${target}.json)
set(pac_file ${out_hex_dir}/${target}_APP.pac)
set(pac_file_with_core ${out_hex_dir}/${target}.pac)
pac_init_fdl(init_fdl ${pac_config})
execute_process(
COMMAND python3 ${pacgen_py} ${init_fdl}
cfg-pack-file -i APPIMG -p ${out_hex_dir}/${target}.img
-n ${CONFIG_APPIMG_LOAD_FILE_NAME} ${pac_config}
dep-gen --base ${SOURCE_TOP_DIR} ${pac_config}
OUTPUT_VARIABLE pac_dep
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_command(OUTPUT ${pac_file}
COMMAND python3 ${pacgen_py} pac-gen ${pac_config} ${pac_file}
DEPENDS ${pacgen_py} ${pac_config} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_command(OUTPUT ${pac_file_with_core}
COMMAND python3 ${pacgen_core_py} ${out_hex_dir}/${target}.img ${pac_file_with_core} TTS_ENABLE
DEPENDS ${pacgen_core_py} ${pac_dep}
WORKING_DIRECTORY ${SOURCE_TOP_DIR}
)
add_custom_target(${target}_pacgen ALL DEPENDS ${pac_file} ${pac_file_with_core})
endif()
add_custom_command(OUTPUT ${hex_app_file} ${hex_app_with_core_file} ${hex_delete_file} ${hex_map_file} ${hex_elf_file}
COMMAND ${CMAKE_COMMAND} -E make_directory ${hex_bin_dir}
COMMAND ${CMAKE_COMMAND} -E copy ${pac_file} ${hex_app_file}
COMMAND ${CMAKE_COMMAND} -E copy ${pac_file_with_core} ${hex_app_with_core_file}
COMMAND ${CMAKE_COMMAND} -E make_directory ${hex_map_dir}
COMMAND ${CMAKE_COMMAND} -E copy ${core_map_dir}/${core_name}.map ${hex_map_file}
COMMAND ${CMAKE_COMMAND} -E copy ${core_map_dir}/${core_name}.elf ${hex_elf_file}
COMMAND ${CMAKE_COMMAND} -E copy ${out_hex_dir}/${target}.elf ${hex_map_dir}/app.elf
COMMAND ${CMAKE_COMMAND} -E copy ${out_hex_dir}/${target}.map ${hex_map_dir}/app.map
COMMAND python3 ${gdbComGen_py} ${CMAKE_SOURCE_DIR} /hex/${target}_map/app.elf
DEPENDS ${pac_file} ${pac_file_with_core}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
#/*+\NEW\zhuwangbin\2020.07.1\add dofta.bin */
if(DEFINED ENV{FOTA_TYPE})
set(hex_fota_file ${CSDK_PRO}_${CSDK_VER}_${core_vername}.dfota.bin)
if (${FOTA_TYPE} STREQUAL "all")
add_custom_command(OUTPUT ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E copy ${out_hex_dir}/${target}.img ${target}.img
COMMAND ${CMAKE_COMMAND} -E copy ${core_bin_dir}/${core_name}.pac ${core_name}.pac
COMMAND ${CMAKE_COMMAND} -E rename ${target}.img app.bin
COMMAND ${CMAKE_COMMAND} -E rename ${core_name}.pac ${core_name}.bin
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${hex_bin_dir}.zip" "--format=zip" "${core_name}.bin" "app.bin"
COMMAND ${CMAKE_COMMAND} -E rename ${hex_bin_dir}.zip ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E remove [-f] ${core_name}.bin app.bin
DEPENDS ${out_hex_dir}/${target}.img ${hex_app_file} ${hex_app_with_core_file}
WORKING_DIRECTORY ${hex_bin_dir})
add_custom_target(${target}_release ALL DEPENDS ${hex_app_file} ${hex_app_with_core_file} ${hex_map_file} ${hex_elf_file} ${hex_fota_file})
endif()
if (${FOTA_TYPE} STREQUAL "core")
add_custom_command(OUTPUT ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E copy ${core_bin_dir}/${core_name}.pac ${core_name}.pac
COMMAND ${CMAKE_COMMAND} -E rename ${core_name}.pac ${core_name}.bin
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${hex_bin_dir}.zip" "--format=zip" "${core_name}.bin"
COMMAND ${CMAKE_COMMAND} -E rename ${hex_bin_dir}.zip ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E remove [-f] ${core_name}.bin
DEPENDS ${out_hex_dir}/${target}.img ${hex_app_file} ${hex_app_with_core_file}
WORKING_DIRECTORY ${hex_bin_dir})
add_custom_target(${target}_release ALL DEPENDS ${hex_app_file} ${hex_app_with_core_file} ${hex_map_file} ${hex_elf_file} ${hex_fota_file})
endif()
if (${FOTA_TYPE} STREQUAL "app")
add_custom_command(OUTPUT ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E copy ${out_hex_dir}/${target}.img ${target}.img
COMMAND ${CMAKE_COMMAND} -E rename ${target}.img app.bin
COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${hex_bin_dir}.zip" "--format=zip" "app.bin"
COMMAND ${CMAKE_COMMAND} -E rename ${hex_bin_dir}.zip ${hex_fota_file}
COMMAND ${CMAKE_COMMAND} -E remove [-f] app.bin
DEPENDS ${out_hex_dir}/${target}.img ${hex_app_file} ${hex_app_with_core_file}
WORKING_DIRECTORY ${hex_bin_dir})
add_custom_target(${target}_release ALL DEPENDS ${hex_app_file} ${hex_app_with_core_file} ${hex_map_file} ${hex_elf_file} ${hex_fota_file})
endif()
else()
add_custom_target(${target}_release ALL DEPENDS ${hex_app_file} ${hex_app_with_core_file} ${hex_map_file} ${hex_elf_file})
endif()
#/*-\NEW\zhuwangbin\2020.07.1\add dofta.bin */
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wisshen/RDA8910_CSDK.git
git@gitee.com:wisshen/RDA8910_CSDK.git
wisshen
RDA8910_CSDK
RDA8910_CSDK
master

搜索帮助