936 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			936 lines
		
	
	
		
			48 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| ######################## EDIT START #########################
 | |
| DEF_SDK_TYPE=""
 | |
| DEF_RELEASE="release"
 | |
| DEF_LIBAPP="false"
 | |
| DEF_SG_TYPE=
 | |
| 
 | |
| CHIP_CLASS_STR=("HZ")
 | |
| CHIP_ID_STR=("P3201" "P3211" "P3031")
 | |
| PROTO_TYPE_STR=("p12087" "p1901")
 | |
| GROUP_BOARDS_TYPE_SG=("htzd03" "qj03" "flx03" "spe03" "gx03" "dt03")
 | |
| GROUP_BOARDS_TYPE_IOT=("htzd03" "goldf03" "ledc03" "stamp03")
 | |
| GROUP_SDK_TYPE=("sg" "sg_ext" "iot" "iot_ext")
 | |
| GROUP_SG_TYPE=("gw" "nw")
 | |
| 
 | |
| 
 | |
| #specific board definition.
 | |
| BOARDS_HTZD03_GROUP=("htzd3201cco03" "htzd3211sta03" "htzd3211iic03" "htzd32113ps03")
 | |
| BOARDS_QJ03_GROUP=("qj5580dcco03" "qj5582dsta03" "qj5582diic03" "qj5582d3ps03")
 | |
| BOARDS_FLX03_GROUP=("flx6710cco03" "flx6711sta03" "flx6711iic03" "flx67113ps03")
 | |
| BOARDS_SPE03_GROUP=("spe7303cco03" "spe7301sta03" "spe7301iic03" "spe73013ps03")
 | |
| BOARDS_GX03_GROUP=("gx2001cco03" "gx2011sta03" "gx2011iic03" "gx20113ps03")
 | |
| BOARDS_DT03_GROUP=("dt0530cco03" "dt0531sta03" "dt0531iic03" "dt05313ps03")
 | |
| 
 | |
| BOARDS_GOLDF03_GROUP=("goldfinger_17pcco03" "goldfinger_17psta03")
 | |
| BOARDS_LEDC03_GROUP=("ledccco03" "ledcsta03")
 | |
| BOARDS_STAMP03_GROUP=("stampcco03" "stampsta03")
 | |
| 
 | |
| #sg app support.
 | |
| SG_GROUP_CHIPCLASS=("HZ"     "HZ"         "HZ"         "HZ"         "HZ"        "HZ"          "HZ"          "HZ")
 | |
| SG_GROUP_CHIPID=("P3201"     "P3201"      "P3211"      "P3211"      "P3201"     "P3201"       "P3201"       "P3211")
 | |
| SG_GROUP_CORE_TYPE=("PLC"    "PLC"        "PLC"        "PLC"        "AMPPLC"    "AMPPLC"      "PLC"         "PLC")
 | |
| SG_GROUP_IMG_TYPE=("CCO"     "CCO"        "STA"        "STA"        "CCO"       "CCO"         "CCO"         "STA")
 | |
| SG_GROUP_FLASH_SIZE=(4         4            4            4            4           4             4             4)
 | |
| SG_GROUP_PSRAM_SIZE=(8         8            0            0            8           8             8             0)
 | |
| SG_GROUP_RF_OPT=("RF"        "NO_RF"      "RF"         "NO_RF"      "RF"        "NO_RF"       "RF"          "RF")
 | |
| SG_GROUP_DUAL_OPT=("DUAL"    "NO_DUAL"    "DUAL"       "NO_DUAL"    "DUAL"      "NO_DUAL"     "NO_DUAL"     "NO_DUAL")
 | |
| SG_GROUP_LENGTH=${#SG_GROUP_CHIPCLASS[*]}
 | |
| 
 | |
| #sg ext app support.
 | |
| SG_EXT_GROUP_CHIPCLASS=("HZ"     "HZ"         "HZ"         "HZ"         "HZ"        "HZ"          "HZ"          "HZ")
 | |
| SG_EXT_GROUP_CHIPID=("P3201"     "P3201"      "P3211"      "P3211"      "P3201"     "P3201"       "P3201"       "P3211")
 | |
| SG_EXT_GROUP_CORE_TYPE=("PLC"    "PLC"        "PLC"        "PLC"        "AMPPLC"    "AMPPLC"      "PLC"         "PLC")
 | |
| SG_EXT_GROUP_IMG_TYPE=("CCO"     "CCO"        "STA"        "STA"        "CCO"       "CCO"         "CCO"         "STA")
 | |
| SG_EXT_GROUP_FLASH_SIZE=(4         4            4            4            4           4             4             4)
 | |
| SG_EXT_GROUP_PSRAM_SIZE=(8         8            0            0            8           8             8             0)
 | |
| SG_EXT_GROUP_RF_OPT=("RF"        "NO_RF"      "RF"         "NO_RF"      "RF"        "NO_RF"       "RF"          "RF")
 | |
| SG_EXT_GROUP_DUAL_OPT=("DUAL"    "NO_DUAL"    "DUAL"       "NO_DUAL"    "DUAL"      "NO_DUAL"     "NO_DUAL"     "NO_DUAL")
 | |
| SG_EXT_GROUP_LENGTH=${#SG_EXT_GROUP_CHIPCLASS[*]}
 | |
| 
 | |
| #demo app support.
 | |
| DEMO_GROUP_CHIPCLASS=("WQ"      "WQ")
 | |
| DEMO_GROUP_CHIPID=("P3031"      "P3031")
 | |
| DEMO_GROUP_CORE_TYPE=("PLC"     "PLC")
 | |
| DEMO_GROUP_IMG_TYPE=("CCO"      "STA")
 | |
| DEMO_GROUP_FLASH_SIZE=(2          2)
 | |
| DEMO_GROUP_PSRAM_SIZE=(0          0)
 | |
| DEMO_GROUP_RF_OPT=("NO_RF"      "NO_RF")
 | |
| DEMO_GROUP_DUAL_OPT=("NO_DUAL"      "NO_DUAL")
 | |
| DEMO_GROUP_LENGTH=${#DEMO_GROUP_CHIPCLASS[*]}
 | |
| 
 | |
| #cus_at app support.
 | |
| CUS_AT_GROUP_CHIPCLASS=("WQ"     "WQ")
 | |
| CUS_AT_GROUP_CHIPID=("P3031"     "P3031")
 | |
| CUS_AT_GROUP_CORE_TYPE=("PLC"    "PLC")
 | |
| CUS_AT_GROUP_IMG_TYPE=("CCO"     "STA")
 | |
| CUS_AT_GROUP_FLASH_SIZE=(2         2)
 | |
| CUS_AT_GROUP_PSRAM_SIZE=(0         0)
 | |
| CUS_AT_GROUP_RF_OPT=("NO_RF"     "NO_RF")
 | |
| CUS_AT_GROUP_DUAL_OPT=("NO_DUAL"      "NO_DUAL")
 | |
| CUS_AT_GROUP_LENGTH=${#CUS_AT_GROUP_CHIPCLASS[*]}
 | |
| ###################### EDIT END ###################################
 | |
| 
 | |
| #DEF_DEBUG.
 | |
| for k in $@; do
 | |
|     for sdk_type in ${GROUP_SDK_TYPE[@]}; do
 | |
|         if [ "$k" == "${sdk_type}" ]; then
 | |
|             DEF_SDK_TYPE="${sdk_type}"
 | |
|             break
 | |
|         fi
 | |
|     done
 | |
| done
 | |
| 
 | |
| #DEF_DEBUG.
 | |
| for k in $@; do
 | |
|     if [ "$k" == "debug" ]; then
 | |
|         DEF_RELEASE="debug"
 | |
|     fi
 | |
| done
 | |
| 
 | |
| #DEF_LIBAPP.
 | |
| if [ "${DEF_SDK_TYPE}" == "sg_ext" ] || [ "${DEF_SDK_TYPE}" == "iot_ext" ]; then
 | |
|     DEF_LIBAPP="true"
 | |
| else
 | |
|     DEF_LIBAPP="false"
 | |
| fi
 | |
| 
 | |
| #DEF_SG_TYPE.
 | |
| for k in $@; do
 | |
|     for sg_type in ${GROUP_SG_TYPE[@]}; do
 | |
|         if [ "$k" == "${sg_type}" ]; then
 | |
|             DEF_SG_TYPE="${sg_type}"
 | |
|             break
 | |
|         fi
 | |
|     done
 | |
| done
 | |
| 
 | |
| ###################### THE BELLOW WILL NOT BE EDIT EVEN IF TO ADD NEW SDK ########################
 | |
| 
 | |
| #print help info.
 | |
| if [ "?" == "$1" ] || [ "" == "${DEF_SDK_TYPE}" ]; then
 | |
|     echo  "* usage: $0 [SDK_TYPE] [SG_TYPE] [DBG_OPTION]"
 | |
|     echo  "*   [SDK_TYPE] -- Necessary, (${GROUP_SDK_TYPE[@]})"
 | |
|     echo  "*     sg:    provide sg app in source code style. sg_ext:    provide sg app in library style."
 | |
|     echo  "*     iot:   provide iot apps in source code style.  iot_ext:   provide iot apps in library style."
 | |
|     echo  "*   [SG_TYPE] -- Necessary when SDK_TYPE is sg or sg_ext, (${GROUP_SG_TYPE[@]}), no need when SDK_TYPE is iot and iot_ext"
 | |
|     echo  "*     gw:   gw app."
 | |
|     echo  "*     nw:   nw app."
 | |
|     echo  "*   [DBG_OPTION] -- Optional, debug or release, null means release."
 | |
|     echo  ""
 | |
|     echo  "*   example:"
 | |
|     echo  "*   ./build_kl3_sdk_gen.sh sg_ext gw debug"
 | |
|     echo  "*   ./build_kl3_sdk_gen.sh iot_ext debug"
 | |
|     echo  ""
 | |
|     echo  "*********************** NAME DESCRIPTION *********************************"
 | |
|     echo  "*   [CHIP CLASS] -- (${CHIP_CLASS_STR[@]})."
 | |
|     echo  "*   [CHIP ID] -- (${CHIP_ID_STR[@]})."
 | |
|     echo  "*   [CORE_TYPE] -- (AMPPLC PLC), AMPPLC:dual-core architecture, include cus_core and plc_core; PLC:single core architecture, only have plc_core."
 | |
|     echo  "*   [IMG_TYPE] -- (CCO STA), img type, cco or sta."
 | |
|     echo  "*   [FLASH_SIZE] -- (2M 4M), flash size that support."
 | |
|     echo  "*   [PSRAM_SIZE] -- (0M 8M), psram size that support."
 | |
|     echo  "*   [RF_OPT] -- (RF NO_RF), with rf or not."
 | |
|     echo  "*   [DUAL_OPT] -- (DUAL NO_DUAL), with dual or not."
 | |
|     echo  ""
 | |
|     echo  "sg-type support img as follows:"
 | |
|     echo  "*******(CHIP_CLASS CHIP_ID CORE_TYPE BOARD IMG_TYPE FLASH_SIZE PSRAM_SIZE RF_OPT DUAL_OPT):"
 | |
|     echo "*********************** SG APP ********************************************"
 | |
|     for ((index=0; index < SG_GROUP_LENGTH; index++)); do
 | |
|         echo "*   $index. (${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_CORE_TYPE[$index]} ${SG_GROUP_IMG_TYPE[$index]} "\
 | |
|       "${SG_GROUP_FLASH_SIZE[$index]}M flash ${SG_GROUP_PSRAM_SIZE[$index]}M psram  ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]})"
 | |
|     done
 | |
|     echo ""
 | |
|     echo  "sg_ext-type support img as follows:"
 | |
|     echo  "*******(CHIP_CLASS CHIP_ID CORE_TYPE BOARD IMG_TYPE FLASH_SIZE PSRAM_SIZE RF_OPT DUAL_OPT):"
 | |
|     echo "*********************** SG_EXT APP ********************************************"
 | |
|     for ((index=0; index < SG_EXT_GROUP_LENGTH; index++)); do
 | |
|         echo "*   $index. (${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_CORE_TYPE[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} "\
 | |
|       "${SG_EXT_GROUP_FLASH_SIZE[$index]}M flash ${SG_EXT_GROUP_PSRAM_SIZE[$index]}M psram  ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]})"
 | |
|     done
 | |
|     echo ""
 | |
|     echo  "(iot-type iot_ext-type) support img as follows:"
 | |
|     echo  "*******(CHIP_CLASS CHIP_ID CORE_TYPE BOARD IMG_TYPE FLASH_SIZE PSRAM_SIZE RF_OPT DUAL_OPT):"
 | |
|     echo "*********************** DEMO APP ******************************************"
 | |
|     for ((index=0; index < DEMO_GROUP_LENGTH; index++)); do
 | |
|         echo "*   $index. (${DEMO_GROUP_CHIPCLASS[$index]} ${DEMO_GROUP_CHIPID[$index]} ${DEMO_GROUP_CORE_TYPE[$index]} ${DEMO_GROUP_IMG_TYPE[$index]} "\
 | |
|       "${DEMO_GROUP_FLASH_SIZE[$index]}M flash ${DEMO_GROUP_PSRAM_SIZE[$index]}M psram  ${DEMO_GROUP_RF_OPT[$index]} ${DEMO_GROUP_DUAL_OPT[$index]})"
 | |
|     done
 | |
|     echo ""
 | |
|     echo  "*******(CHIP_CLASS CHIP_ID CORE_TYPE BOARD IMG_TYPE FLASH_SIZE PSRAM_SIZE RF_OPT DUAL_OPT):"
 | |
|     echo "*********************** CUS_AT | SILA APP ****************************************"
 | |
|     for ((index=0; index < CUS_AT_GROUP_LENGTH; index++)); do
 | |
|         echo "*   $index. (${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_CORE_TYPE[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} "\
 | |
|       "${CUS_AT_GROUP_FLASH_SIZE[$index]}M flash ${CUS_AT_GROUP_PSRAM_SIZE[$index]}M psram  ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]})"
 | |
|     done
 | |
|     echo ""
 | |
|     echo "*********************************** BOARD SUPPORT IMAGE_TYPE DEFINATION ***********************************"
 | |
|     echo  "board supports define:"
 | |
|     echo  "htzd03: (${BOARDS_HTZD03_GROUP[@]})"
 | |
|     echo  "goldf03: (${BOARDS_GOLDF03_GROUP[@]})"
 | |
|     echo  "ledc03: (${BOARDS_LEDC03_GROUP[@]})"
 | |
|     echo  "ledc03: (${BOARDS_STAMP03_GROUP[@]})"
 | |
|     echo  ""
 | |
|     echo "**************************************************  END **************************************************"
 | |
|     exit 0
 | |
| fi
 | |
| 
 | |
| BUILD_NUM=0
 | |
| MAINLINE_FOLDER=".."
 | |
| CMAKE_FOLDER="../../SDKCmake"
 | |
| CMAKE_SDK_FOLDER="${CMAKE_FOLDER}/kl3_sdk"
 | |
| SDK_ROOT_FOLDER="../tools/gen_img/KL3_SDK"
 | |
| OEM_FOLDER="../tools/oem"
 | |
| PIB_FOLDER="../tools/pib"
 | |
| TOOLS_FOLDER="../tools/gen_img"
 | |
| 
 | |
| set -o errexit
 | |
| 
 | |
| RELEASE_UPPER=$(echo ${DEF_RELEASE} | tr '[a-z]' '[A-Z]')
 | |
| 
 | |
| if [ "${DEF_SDK_TYPE}" == "sg" ]; then
 | |
|     TARGET_SDK_FOLDER="${SDK_ROOT_FOLDER}/KL3_SG_SDK_${RELEASE_UPPER}"
 | |
|     DEF_BOARD_TYPE="htzd03"
 | |
| elif [ "${DEF_SDK_TYPE}" == "sg_ext" ]; then
 | |
|     TARGET_SDK_FOLDER="${SDK_ROOT_FOLDER}/KL3_SG_EXT_SDK_${RELEASE_UPPER}"
 | |
|     DEF_BOARD_TYPE="htzd03"
 | |
| elif [ "${DEF_SDK_TYPE}" == "iot" ]; then
 | |
|     TARGET_SDK_FOLDER="${SDK_ROOT_FOLDER}/KL3_IOT_SDK_${RELEASE_UPPER}"
 | |
|     DEF_BOARD_TYPE="goldf03"
 | |
| elif [ "${DEF_SDK_TYPE}" == "iot_ext" ]; then
 | |
|     TARGET_SDK_FOLDER="${SDK_ROOT_FOLDER}/KL3_IOT_EXT_SDK_${RELEASE_UPPER}"
 | |
|     DEF_BOARD_TYPE="goldf03"
 | |
| fi
 | |
| 
 | |
| if [ ! -d ${SDK_ROOT_FOLDER} ]; then
 | |
|     mkdir -p ${SDK_ROOT_FOLDER}
 | |
| fi
 | |
| 
 | |
| if [ -d ${TARGET_SDK_FOLDER} ]; then
 | |
|     rm -rf ${TARGET_SDK_FOLDER}
 | |
| fi
 | |
| 
 | |
| mkdir -p ${TARGET_SDK_FOLDER}
 | |
| pushd "${TARGET_SDK_FOLDER}"
 | |
|     mkdir cus_core
 | |
|     mkdir plc_core
 | |
|     mkdir resource
 | |
|     mkdir resource/boards
 | |
|     mkdir build
 | |
|     mkdir output
 | |
|     mkdir tools
 | |
|     mkdir doc
 | |
| popd
 | |
| 
 | |
| #prepare common file.
 | |
| if [ ! -d ${CMAKE_SDK_FOLDER}/cmake ] || [ ! -d ${CMAKE_SDK_FOLDER}/.scripts ] \
 | |
| || [ ! -d ${MAINLINE_FOLDER}/export/inc ] || [ ! -f ${CMAKE_SDK_FOLDER}/build_target_firmware.sh ]; then
 | |
|     echo "ERR: common file not exist."
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| cp -r ${CMAKE_SDK_FOLDER}/cmake ${TARGET_SDK_FOLDER}
 | |
| cp -r ${CMAKE_SDK_FOLDER}/.scripts ${TARGET_SDK_FOLDER}/build
 | |
| cp ${CMAKE_SDK_FOLDER}/build_target_firmware.sh ${TARGET_SDK_FOLDER}/build
 | |
| cp ${CMAKE_SDK_FOLDER}/do_filter_sdk.sh ${TARGET_SDK_FOLDER}/
 | |
| cp -r ${MAINLINE_FOLDER}/export/inc ${TARGET_SDK_FOLDER}
 | |
| 
 | |
| sed -i "s/^DEF_RELEASE=.*/DEF_RELEASE=\"${DEF_RELEASE}\"/g" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| sed -i "s/^SDK_FOLDER_NAME=.*/SDK_FOLDER_NAME=\"$(basename ${TARGET_SDK_FOLDER})\"/g" ${TARGET_SDK_FOLDER}/do_filter_sdk.sh
 | |
| 
 | |
| if [ "${DEF_SDK_TYPE}" == "sg" ] || [ "${DEF_SDK_TYPE}" == "sg_ext" ]; then
 | |
|     group_boards_type="${GROUP_BOARDS_TYPE_SG[@]}"
 | |
| else
 | |
|     group_boards_type="${GROUP_BOARDS_TYPE_IOT[@]}"
 | |
| fi
 | |
| sed -i "s/^GROUP_BOARDS_TYPE=.*/GROUP_BOARDS_TYPE=\(${group_boards_type}\)/g" ${TARGET_SDK_FOLDER}/do_filter_sdk.sh
 | |
| 
 | |
| IOT_VER_FILE="${MAINLINE_FOLDER}/inc/iot_version.h"
 | |
| get_iot_ver() {
 | |
|     ver_file=$1
 | |
|     major_ver=`cat ${ver_file} |grep " AP_FIRMWARE_VERSION_MAJOR"|awk '{print $3}'`
 | |
|     mionor_ver=`cat ${ver_file} |grep " AP_FIRMWARE_VERSION_MINOR"|awk '{print $3}'`
 | |
|     micro_ver=`cat ${ver_file} |grep " AP_FIRMWARE_VERSION_MICRO"|awk '{print $3}'`
 | |
|     build_ver=`cat ${ver_file} |grep " AP_FIRMWARE_VERSION_BUILD"|awk '{print $3}'`
 | |
| 
 | |
|     major_ver=${major_ver//(/}
 | |
|     major_ver=${major_ver//)/}
 | |
|     mionor_ver=${mionor_ver//(/}
 | |
|     mionor_ver=${mionor_ver//)/}
 | |
|     micro_ver=${micro_ver//(/}
 | |
|     micro_ver=${micro_ver//)/}
 | |
|     build_ver=${build_ver//(/}
 | |
|     build_ver=${build_ver//)/}
 | |
| 
 | |
|     IOT_VER="${major_ver}.${mionor_ver}.${micro_ver}.${build_ver}"
 | |
|     return
 | |
| }
 | |
| 
 | |
| get_git_ver() {
 | |
|     ver_file=$1
 | |
|     commit_id=`git log -1 | grep "commit" | awk '{print $2}'`
 | |
| 
 | |
|     GIT_VER="${commit_id:0:6}"
 | |
|     return
 | |
| }
 | |
| 
 | |
| #generate oem and pib bin.
 | |
| prepare_oem_pib_bin() {
 | |
|     local sdk_type=$1
 | |
|     local board_type_upper=$(echo $2 | tr '[a-z]' '[A-Z]')
 | |
|     local target_board_dir=$3
 | |
|     PIB_IMG=${board_type_upper}
 | |
|     LP_PIB_IMG=${board_type_upper}
 | |
|     OEM_IMG=${board_type_upper}
 | |
|     OEM_AMP_IMG=
 | |
| 
 | |
|     if [ "${sdk_type}" == "iot" ] || [ "${sdk_type}" == "iot_ext" ]; then
 | |
|         if [[ "${board_type_upper}" == "GOLDFINGER_17P"* ]]; then
 | |
|             OEM_IMG="GOLDFINGER_17P03"
 | |
|             OEM_AMP_IMG="GOLDFINGER_17P03_AMPIOT"
 | |
|         fi
 | |
|         if [[ "${board_type_upper}" == "LEDC"* ]]; then
 | |
|             OEM_IMG="LEDC03"
 | |
|         fi
 | |
|         if [[ "${board_type_upper}" == "STAMP"* ]]; then
 | |
|             OEM_IMG="STAMP03"
 | |
|         fi
 | |
| 
 | |
|         #plc oem
 | |
|         oem_ini="${OEM_FOLDER}/${OEM_IMG}_OEM.ini"
 | |
|         if [ ! -f "${oem_ini}" ]; then
 | |
|             echo "[WARNING!!!] ${oem_ini} not exist."
 | |
|             return 1
 | |
|         fi
 | |
|         cp ${oem_ini} ./tmp_oem.ini
 | |
|         if [[ "${board_type_upper}"  == *"STA03" ]]; then
 | |
|             sed -i "s/mid.*/mid 0/g" ./tmp_oem.ini
 | |
|         fi
 | |
|         if [[ "${board_type_upper}"  == *"CCO03" ]]; then
 | |
|             sed -i "s/mid.*/mid 1/g" ./tmp_oem.ini
 | |
|         fi
 | |
|         $OEM_TOOL --input=./tmp_oem.ini --output=${target_board_dir}/oem_plc.bin
 | |
|         rm ./tmp_oem.ini
 | |
|         #amp oem
 | |
|         if [ "x${OEM_AMP_IMG}" != "x" ]; then
 | |
|             oem_ini="${OEM_FOLDER}/${OEM_AMP_IMG}_OEM.ini"
 | |
|             if [ ! -f "${oem_ini}" ]; then
 | |
|                 echo "[WARNING!!!] ${oem_ini} not exist."
 | |
|                 return 1
 | |
|             fi
 | |
|             cp ${oem_ini} ./tmp_oem.ini
 | |
|             if [[ "${board_type_upper}"  == *"STA03" ]]; then
 | |
|                 sed -i "s/mid.*/mid 0/g" ./tmp_oem.ini
 | |
|             fi
 | |
|             if [[ "${board_type_upper}"  == *"CCO03" ]]; then
 | |
|                 sed -i "s/mid.*/mid 1/g" ./tmp_oem.ini
 | |
|             fi
 | |
|             $OEM_TOOL --input=./tmp_oem.ini --output=${target_board_dir}/oem_amp.bin
 | |
|             rm ./tmp_oem.ini
 | |
|         fi
 | |
| 
 | |
|         PIB_IMG=${PIB_IMG/IIC/STA}
 | |
|         PIB_IMG=${PIB_IMG/3PS/STA}
 | |
|         LP_PIB_IMG=${LP_PIB_IMG/IIC/STA}
 | |
|         LP_PIB_IMG=${LP_PIB_IMG/3PS/STA}
 | |
|         if [[ "${PIB_IMG}" == *"CCO03" ]]; then
 | |
|             PIB_IMG=$(echo ${PIB_IMG} | sed -n "s/^.*CCO03/HTZD3201CCO03/p")
 | |
|             LP_PIB_IMG=$(echo ${LP_PIB_IMG} | sed -n "s/^.*CCO03/HTZD3201CCO03_LP/p")
 | |
|         fi
 | |
|         if [[ "${PIB_IMG}" == *"STA03" ]]; then
 | |
|             PIB_IMG=$(echo ${PIB_IMG} | sed -n "s/^.*STA03/HTZD3211STA03/p")
 | |
|             LP_PIB_IMG=$(echo ${LP_PIB_IMG} | sed -n "s/^.*STA03/HTZD3211STA03_LP/p")
 | |
|         fi
 | |
|         pib_file="${PIB_FOLDER}/${PIB_IMG}_PIB.bin"
 | |
|         lp_pib_file="${PIB_FOLDER}/${LP_PIB_IMG}_PIB.bin"
 | |
|         echo iot pib_file:${pib_file}
 | |
|         echo iot lp_pib_file:${lp_pib_file}
 | |
|         cp ${pib_file} ${target_board_dir}/pib.bin
 | |
|         cp ${lp_pib_file} ${target_board_dir}/lp_pib.bin
 | |
| 
 | |
|     else
 | |
|         #plc oem
 | |
|         oem_ini="${OEM_FOLDER}/${OEM_IMG}_OEM.ini"
 | |
|         if [ ! -f "${oem_ini}" ]; then
 | |
|             echo "[WARNING!!!] ${oem_ini} not exist."
 | |
|             return 1
 | |
|         fi
 | |
| 
 | |
|         cp ${oem_ini} ./tmp_oem.ini
 | |
|         $OEM_TOOL --input=./tmp_oem.ini --output=${target_board_dir}/oem_plc.bin
 | |
|         rm ./tmp_oem.ini
 | |
| 
 | |
|         if [[ "${board_type_upper}" == "HTZD3201CCO"* ]]; then
 | |
|             OEM_AMP_IMG="HTZD3201CCO03_AMPSG"
 | |
|         fi
 | |
| 
 | |
|         #amp oem
 | |
|         if [ "x${OEM_AMP_IMG}" != "x" ]; then
 | |
|             oem_ini="${OEM_FOLDER}/${OEM_AMP_IMG}_OEM.ini"
 | |
|             if [ ! -f "${oem_ini}" ]; then
 | |
|                 echo "[WARNING!!!] ${oem_ini} not exist."
 | |
|                 return 1
 | |
|             fi
 | |
|             cp ${oem_ini} ./tmp_oem.ini
 | |
|             $OEM_TOOL --input=./tmp_oem.ini --output=${target_board_dir}/oem_amp.bin
 | |
|             rm ./tmp_oem.ini
 | |
|         fi
 | |
| 
 | |
|         PIB_IMG=${PIB_IMG/IIC/STA}
 | |
|         PIB_IMG=${PIB_IMG/3PS/STA}
 | |
|         LP_PIB_IMG=${LP_PIB_IMG/IIC/STA}
 | |
|         LP_PIB_IMG=${LP_PIB_IMG/3PS/STA}
 | |
| 
 | |
|         if [[ "${PIB_IMG}" == *"CCO03" ]]; then
 | |
|             if [ "${DEF_SG_TYPE}" == "nw" ]; then
 | |
|                 PIB_IMG=$(echo ${PIB_IMG} | sed -n "s/^.*CCO03/HTZDCCO01_NW/p")
 | |
|                 LP_PIB_IMG=$(echo ${LP_PIB_IMG} | sed -n "s/^.*CCO03/HTZDCCO01_NW_LP/p")
 | |
|             else
 | |
|                 PIB_IMG=$(echo ${PIB_IMG} | sed -n "s/^.*CCO03/HTZDCCO01/p")
 | |
|                 LP_PIB_IMG=$(echo ${LP_PIB_IMG} | sed -n "s/^.*CCO03/HTZDCCO01_LP/p")
 | |
|             fi
 | |
| 
 | |
|             if [ "${DEF_SG_TYPE}" == "nw" ]; then
 | |
|                 lp_guangdong_pib_file="${PIB_FOLDER}/HTZDCCO01_NW_LP_GUANGDONG_PIB.bin"
 | |
|                 echo sg lp_guangdong_pib_file:${lp_guangdong_pib_file}
 | |
|                 cp ${lp_guangdong_pib_file} ${target_board_dir}/lp_guangdong_pib.bin
 | |
|             fi
 | |
| 
 | |
|         fi
 | |
|         if [[ "${PIB_IMG}" == *"STA03" ]]; then
 | |
|             PIB_IMG=$(echo ${PIB_IMG} | sed -n "s/^.*STA03/HTZDSTA01/p")
 | |
|             LP_PIB_IMG=$(echo ${LP_PIB_IMG} | sed -n "s/^.*STA03/HTZDSTA01_LP/p")
 | |
|         fi
 | |
|         pib_file="${PIB_FOLDER}/${PIB_IMG}_PIB.bin"
 | |
|         lp_pib_file="${PIB_FOLDER}/${LP_PIB_IMG}_PIB.bin"
 | |
|         echo sg pib_file:${pib_file}
 | |
|         echo sg lp_pib_file:${lp_pib_file}
 | |
|         cp ${pib_file} ${target_board_dir}/pib.bin
 | |
|         cp ${lp_pib_file} ${target_board_dir}/lp_pib.bin
 | |
| 
 | |
|     fi
 | |
| 
 | |
| 
 | |
| }
 | |
| 
 | |
| #generate board resource.
 | |
| gen_boards_resource() {
 | |
|     #prepare tools.
 | |
|     ./build_ah.sh kl3
 | |
|     ./build_lzma.sh kl3
 | |
|     ./build_oem_tool.sh kl3
 | |
|     cp ${TOOLS_FOLDER}/elzma ${TARGET_SDK_FOLDER}/tools
 | |
|     cp ${TOOLS_FOLDER}/ah ${TARGET_SDK_FOLDER}/tools
 | |
| 
 | |
|     target_board_resource_dir=${TARGET_SDK_FOLDER}/resource/boards
 | |
|     OEM_TOOL="${TOOLS_FOLDER}/oem_tool"
 | |
| 
 | |
|     boards_support=()
 | |
|     board_num=0
 | |
|     if [ "${DEF_SDK_TYPE}" == "sg" ] || [ "${DEF_SDK_TYPE}" == "sg_ext" ]; then
 | |
|         GROUP_BOARDS_TYPE=(${GROUP_BOARDS_TYPE_SG[@]})
 | |
|     else
 | |
|         GROUP_BOARDS_TYPE=(${GROUP_BOARDS_TYPE_IOT[@]})
 | |
|     fi
 | |
| 
 | |
|     for boards_type in ${GROUP_BOARDS_TYPE[@]}; do
 | |
|         BOARD_TYPE_KW=$(echo ${boards_type} | tr '[a-z]' '[A-Z]')
 | |
|         eval BOARDS_GROUP="\${BOARDS_${BOARD_TYPE_KW}_GROUP[@]}"
 | |
|         for board_item in ${BOARDS_GROUP}; do
 | |
|             mkdir -p ${target_board_resource_dir}/${board_item}
 | |
|             prepare_oem_pib_bin ${DEF_SDK_TYPE} ${board_item} ${target_board_resource_dir}/${board_item}
 | |
|             boards_support[${board_num}]=${board_item}
 | |
|             ((board_num=${board_num}+1))
 | |
|         done
 | |
|     done
 | |
| 
 | |
|     boards_support="${boards_support[@]}"
 | |
|     sed -i "/^BOARD_SUPPORT_NUM=.*/i BOARDS_SUPPORT=\(${boards_support}\)" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
|     sed -i "s/^BOARD_SUPPORT_NUM=.*/BOARD_SUPPORT_NUM=${board_num}/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
|     sed -i "/^BOARD_SUPPORT_NUM=.*/i BOARDS_SUPPORT=\(${boards_support}\)" ${TARGET_SDK_FOLDER}/do_filter_sdk.sh
 | |
|     sed -i "s/^BOARD_SUPPORT_NUM=.*/BOARD_SUPPORT_NUM=${board_num}/" ${TARGET_SDK_FOLDER}/do_filter_sdk.sh
 | |
| }
 | |
| 
 | |
| #build_sdk_start chip_class chip_id img_type app_name core_type flash_size psram_size proto_type rf_opt dual_opt boot_opt.
 | |
| build_sdk_start() {
 | |
|     local chip_class=$1
 | |
|     local chip_id=$2
 | |
|     local img_type=$3
 | |
|     local app=$4
 | |
|     local core_type=$5
 | |
|     local flash_size=$6
 | |
|     local psram_size=$7
 | |
|     local proto_type=$8
 | |
|     local rf_opt=$9
 | |
|     local dual_opt=${10}
 | |
|     local boot_opt=${11}
 | |
| 
 | |
|     local cus_appid=17
 | |
|     local chip_class_lower=$(echo ${chip_class} | tr '[A-Z]' '[a-z]')
 | |
|     local chip_id_lower=$(echo ${chip_id} | tr '[A-Z]' '[a-z]')
 | |
|     local img_type_lower=$(echo ${img_type} | tr '[A-Z]' '[a-z]')
 | |
|     local app_lower=$(echo ${app} | tr '[A-Z]' '[a-z]')
 | |
|     local core_type_lower=$(echo ${core_type} | tr '[A-Z]' '[a-z]')
 | |
|     local proto_type_lower=$(echo ${proto_type} | tr '[A-Z]' '[a-z]')
 | |
|     local rf_opt_lower=$(echo ${rf_opt} | tr '[A-Z]' '[a-z]')
 | |
|     local dual_opt_lower=$(echo ${dual_opt} | tr '[A-Z]' '[a-z]')
 | |
|     local platform_type="CHIP"
 | |
| 
 | |
|     if [ "${app_lower}" == "sg" ]; then
 | |
|         app_id="0"
 | |
|     elif [ "${app_lower}" == "sg_ext" ]; then
 | |
|         app_id="5"
 | |
|     elif [ "${app_lower}" == "demo" ]; then
 | |
|         app_id="3"
 | |
|     elif [ "${app_lower}" == "cus_at" ]; then
 | |
|         app_id="18"
 | |
|     elif [ "${app_lower}" == "sila" ]; then
 | |
|         app_id="24"
 | |
|     else
 | |
|         echo "Unsupport app:${app_lower}"
 | |
|         return 1
 | |
|     fi
 | |
| 
 | |
|     if [ ${core_type_lower} == "ampplc" ]; then
 | |
|         local amp_kb="amp"
 | |
|         CFG_DIR="${MAINLINE_FOLDER}/build/cfg3"
 | |
|     else
 | |
|         local amp_kb="plc"
 | |
|         CFG_DIR="${MAINLINE_FOLDER}/build/cfg3_plc"
 | |
|     fi
 | |
| 
 | |
|     #prepare app.
 | |
|     target_cus_core_dir="${TARGET_SDK_FOLDER}/cus_core"
 | |
|     target_plc_core_dir="${TARGET_SDK_FOLDER}/plc_core"
 | |
| 
 | |
|     if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|         if [ "${app_lower}" == "cus_at" ]; then
 | |
|             if [ ! -d "${target_cus_core_dir}/cus_at_app" ]; then
 | |
|                 mkdir -p ${target_cus_core_dir}/cus_at_app
 | |
|                 cp -rf ${MAINLINE_FOLDER}/app/iot_cuscore_at_app/* ${target_cus_core_dir}/cus_at_app
 | |
|                 cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_cuscore_at_app/. ${target_cus_core_dir}/cus_at_app
 | |
|                 cp -rf ${MAINLINE_FOLDER}/app/utils/iot_load_plc.* ${target_cus_core_dir}/cus_at_app
 | |
|             fi
 | |
|             cus_appid=23
 | |
|         else
 | |
|             if [ ! -d "${target_cus_core_dir}/cus_demo_app" ]; then
 | |
|                 mkdir -p ${target_cus_core_dir}/cus_demo_app
 | |
|                 cp -rf ${MAINLINE_FOLDER}/app/iot_cuscore_demo_app/* ${target_cus_core_dir}/cus_demo_app
 | |
|                 cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_cuscore_demo_app/. ${target_cus_core_dir}/cus_demo_app
 | |
|                 cp -rf ${MAINLINE_FOLDER}/app/utils/iot_load_plc.* ${target_cus_core_dir}/cus_demo_app
 | |
|             fi
 | |
|             cus_appid=17
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     if [ "${app_lower}" == "sg" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_sg_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${MAINLINE_FOLDER}/app/smart_grid/* ${target_plc_core_dir}/${app_lower}_app
 | |
|     elif [ "${app_lower}" == "sg_ext" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_sg_ext_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${MAINLINE_FOLDER}/app/smart_grid_extend/* ${target_plc_core_dir}/${app_lower}_app
 | |
|     elif [ "${app_lower}" == "demo" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_demo_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         if [ "${DEF_LIBAPP}" == "false" ]; then
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/demo/* ${target_plc_core_dir}/${app_lower}_app
 | |
|             rm -f ${target_plc_core_dir}/${app_lower}_app/demo_speed_test*
 | |
|             sed -i "/#elif (IOT_DEMO_SUB_FUN == IOT_DEMO_SEL_SPEED_TEST)/,/app_demo_spd_module_init();/d" ${target_plc_core_dir}/${app_lower}_app/demo.c
 | |
|             # copy utils files.
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/utils/* ${target_plc_core_dir}/${app_lower}_app
 | |
|             rm -f ${target_plc_core_dir}/${app_lower}_app/iot_load_plc.*
 | |
|         fi
 | |
|     elif [ "${app_lower}" == "ge" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_ge_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         if [ "${DEF_LIBAPP}" == "false" ]; then
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/grapp/* ${target_plc_core_dir}/${app_lower}_app
 | |
|         fi
 | |
|     elif [ "${app_lower}" == "cus_at" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_cus_at_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         if [ "${DEF_LIBAPP}" == "false" ]; then
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/at ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/common ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/driver ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/customer ${target_plc_core_dir}/${app_lower}_app/
 | |
|             rm -f ${target_plc_core_dir}/${app_lower}_app/driver/app_gpio*
 | |
|             sed -i "/#if APP_IO_OPERATION_ENABLE/,/#endif \/\* end APP_IO_OPERATION_ENABLE \*\//d" ${target_plc_core_dir}/${app_lower}_app/at/app_atcmd_handle.c
 | |
|             sed -i "/#if APP_IO_OPERATION_ENABLE/,/#endif \/\* end APP_IO_OPERATION_ENABLE \*\//d" ${target_plc_core_dir}/${app_lower}_app/common/app_config.c
 | |
|             sed -i "/#if APP_IO_OPERATION_ENABLE/,/#endif \/\* end APP_IO_OPERATION_ENABLE \*\//d" ${target_plc_core_dir}/${app_lower}_app/common/app_main.c
 | |
|             sed -i "/#if (IOT_AT_ONLY == 1)/d" ${target_plc_core_dir}/${app_lower}_app/at/app_atcmd_handle.c
 | |
|             sed -i "/#else \/\* else IOT_AT_ONLY == 0 \*\//,/#endif \/\* end IOT_AT_ONLY \*\//d" ${target_plc_core_dir}/${app_lower}_app/at/app_atcmd_handle.c
 | |
|             # copy utils files.
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/utils ${target_plc_core_dir}/${app_lower}_app/
 | |
|         fi
 | |
|     elif [ "${app_lower}" == "sila" ] && [ ! -e ${target_plc_core_dir}/${app_lower}_app ]; then
 | |
|         mkdir -p ${target_plc_core_dir}/${app_lower}_app
 | |
|         cp -rf ${CMAKE_SDK_FOLDER}/kl3_iot_sila_app/. ${target_plc_core_dir}/${app_lower}_app
 | |
|         if [ "${DEF_LIBAPP}" == "false" ]; then
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/at ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/common ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/driver ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/customer ${target_plc_core_dir}/${app_lower}_app/
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/iot_cus_at_app/proto ${target_plc_core_dir}/${app_lower}_app/
 | |
|             sed -i "/#if (IOT_AT_ONLY == 1)/,/#else \/\* else IOT_AT_ONLY == 0 \*\//d" ${target_plc_core_dir}/${app_lower}_app/at/app_atcmd_handle.c
 | |
|             sed -i "/#endif \/\* end IOT_AT_ONLY \*\//d" ${target_plc_core_dir}/${app_lower}_app/at/app_atcmd_handle.c
 | |
|             # copy utils files.
 | |
|             cp -rf ${MAINLINE_FOLDER}/app/utils ${target_plc_core_dir}/${app_lower}_app/
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     local plc_lib_kw="${proto_type_lower}"
 | |
|     if [ "${rf_opt_lower}" == "rf" ]; then
 | |
|         plc_lib_kw="${plc_lib_kw}_rf"
 | |
|     fi
 | |
| 
 | |
|     if [ "${dual_opt_lower}" == "dual" ]; then
 | |
|         plc_lib_kw="${plc_lib_kw}_dual"
 | |
|     fi
 | |
| 
 | |
|     if [ "${boot_opt}" == "fastboot" ]; then
 | |
|         plc_lib_kw="${plc_lib_kw}_fb"
 | |
|     fi
 | |
| 
 | |
|     if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|         taget_source_dir="../tools/gen_img/lib_sdk_source/kl3_${chip_class}_${img_type_lower}_${app_id}_ampplc_${flash_size}m_${psram_size}m_${DEF_RELEASE}"
 | |
|         chk_files=("sbl.bin" "libht_cus.a" "libht_plc_${plc_lib_kw}.a" "libapp_plc.a")
 | |
|     else
 | |
|         taget_source_dir="../tools/gen_img/lib_sdk_source/kl3_${chip_class}_${img_type_lower}_${app_id}_plc_${flash_size}m_${psram_size}m_${DEF_RELEASE}"
 | |
|         chk_files=("sbl.bin" "libht_plc_${plc_lib_kw}.a" "libapp_plc.a")
 | |
|     fi
 | |
| 
 | |
|     for bin_file in ${chk_files[@]}; do
 | |
|         if [ ! -f ${taget_source_dir}/${bin_file} ]; then
 | |
|             echo "WARNING: file not exist : ${taget_source_dir}/${bin_file}"
 | |
|             local build_img_flag=1
 | |
|             break
 | |
|         fi
 | |
|     done
 | |
| 
 | |
|     #building blocks for compiling the SDK.
 | |
|     if [ "${build_img_flag}" == "1" ]; then
 | |
|         if [ "${DEF_RELEASE}" == "debug" ]; then
 | |
|             sed -i "s/\([ ]*#define AP_FIRMWARE_VERSION_TYPE[ ]*\) .*/\1 \(1\)/" ${IOT_VER_FILE}
 | |
|             sed -i "s/\([ ]*#define IOT_PRINTF_DEBUG[ ]*\) .*/\1 1/" ${MAINLINE_FOLDER}/export/inc/iot_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_PRINTF_DEBUG[ ]*\) .*/\1 1/" ${MAINLINE_FOLDER}/export/inc/config/plc_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_EXCEPTION_DEBUG[ ]*\) .*/\1 1/" ${MAINLINE_FOLDER}/export/inc/iot_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_EXCEPTION_DEBUG[ ]*\) .*/\1 1/" ${MAINLINE_FOLDER}/export/inc/config/plc_config_api.h
 | |
|         else
 | |
|             sed -i "s/\([ ]*#define AP_FIRMWARE_VERSION_TYPE[ ]*\) .*/\1 \(0\)/" ${IOT_VER_FILE}
 | |
|             sed -i "s/\([ ]*#define IOT_PRINTF_DEBUG[ ]*\) .*/\1 0/" ${MAINLINE_FOLDER}/export/inc/iot_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_PRINTF_DEBUG[ ]*\) .*/\1 0/" ${MAINLINE_FOLDER}/export/inc/config/plc_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_EXCEPTION_DEBUG[ ]*\) .*/\1 0/" ${MAINLINE_FOLDER}/export/inc/iot_config_api.h
 | |
|             sed -i "s/\([ ]*#define IOT_EXCEPTION_DEBUG[ ]*\) .*/\1 0/" ${MAINLINE_FOLDER}/export/inc/config/plc_config_api.h
 | |
|             sed -i "s/\([ ]*#define DBGLOG_DEFAULT_LEVEL[ ]*\) .*/\1 DBGLOG_ERR/" ${MAINLINE_FOLDER}/common/dbglog/iot_dbglog.c
 | |
|         fi
 | |
|         if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|             if [ "${boot_opt}" == "fastboot" ]; then
 | |
|                 ./build_flash_kl3.sh ${img_type_lower} ${cus_appid} ${app_id} ampplc ${flash_size}m ${psram_size}m ${chip_class} ${proto_type_lower} ${rf_opt_lower} ${dual_opt_lower} ${DEF_RELEASE} ${platform_type} ${boot_opt} ${DEF_BOARD_TYPE}
 | |
|             else
 | |
|                 ./build_flash_kl3.sh ${img_type_lower} ${cus_appid} ${app_id} ampplc ${flash_size}m ${psram_size}m ${chip_class} ${proto_type_lower} ${rf_opt_lower} ${dual_opt_lower} ${DEF_RELEASE} ${platform_type} ${DEF_BOARD_TYPE}
 | |
|             fi
 | |
|         else
 | |
|             ./build_flash_kl3.sh ${img_type_lower} ${cus_appid} ${app_id} plc ${flash_size}m ${psram_size}m ${chip_class} ${proto_type_lower} ${rf_opt_lower} ${dual_opt_lower} ${DEF_RELEASE} ${platform_type} ${DEF_BOARD_TYPE}
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     #prepare boards.
 | |
|     target_chip_resource_dir=${TARGET_SDK_FOLDER}/resource/${chip_class_lower}_${chip_id_lower}_${flash_size}f${psram_size}p/${img_type_lower}_${amp_kb}
 | |
| 
 | |
|     if [ ! -d "${target_chip_resource_dir}" ]; then
 | |
|         mkdir -p "${target_chip_resource_dir}"
 | |
|         mkdir ${target_chip_resource_dir}/bin
 | |
|         mkdir ${target_chip_resource_dir}/lib
 | |
|         mkdir ${target_chip_resource_dir}/ld
 | |
|         mkdir ${target_chip_resource_dir}/cfg
 | |
|     fi
 | |
| 
 | |
|     #prepare cfg.
 | |
|     if [ "${app_lower}" == "sg" ] || [ "${app_lower}" == "sg_ext" ]; then
 | |
|         if [ "${psram_size}" == "0" ]; then
 | |
|             cfg_file=${CFG_DIR}/${flash_size}m_${img_type_lower}.cfg
 | |
|             upd_cfg_file=${CFG_DIR}/${flash_size}m_${img_type_lower}_upgrade.cfg
 | |
|         else
 | |
|             cfg_file=${CFG_DIR}/${flash_size}m_${img_type_lower}_psram.cfg
 | |
|             upd_cfg_file=${CFG_DIR}/${flash_size}m_${img_type_lower}_upgrade_psram.cfg
 | |
|         fi
 | |
|         cp ${upd_cfg_file} ${target_chip_resource_dir}/cfg/${img_type_lower}_upgrade.cfg
 | |
|         sed -i "/^flash_size=./a psram_size=${psram_size}" ${target_chip_resource_dir}/cfg/${img_type_lower}_upgrade.cfg
 | |
|     else
 | |
|         if [ "${psram_size}" == "0" ]; then
 | |
|             cfg_file=${CFG_DIR}/smart_${flash_size}m_${img_type_lower}.cfg
 | |
|         else
 | |
|             cfg_file=${CFG_DIR}/smart_${flash_size}m_${img_type_lower}_psram.cfg
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     cp ${cfg_file} ${target_chip_resource_dir}/cfg/${img_type_lower}.cfg
 | |
|     sed -i "/^flash_size=./a psram_size=${psram_size}" ${target_chip_resource_dir}/cfg/${img_type_lower}.cfg
 | |
| 
 | |
|     #prepare chip resource.
 | |
|     cp ${taget_source_dir}/sbl.bin ${target_chip_resource_dir}/bin
 | |
| 
 | |
|     if [ "${DEF_LIBAPP}" == "true" ]; then
 | |
|         if [ "${app_lower}" == "sg_ext" ]; then
 | |
|             cp ${taget_source_dir}/libapp_plc.a ${target_chip_resource_dir}/lib/libsg_app_${img_type_lower}.a
 | |
|         else
 | |
|             cp ${taget_source_dir}/libapp_plc.a ${target_chip_resource_dir}/lib/lib${app_lower}_app_${img_type_lower}.a
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     if [ "${DEF_SDK_TYPE}" == "sg" ] || [ "${DEF_SDK_TYPE}" == "sg_ext" ]; then
 | |
|         if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|             if [ "${boot_opt}" == "fastboot" ]; then
 | |
|                 cp ${taget_source_dir}/libht_cus_fb.a ${target_chip_resource_dir}/lib/libsg${img_type_lower}_amp_cus_fb.a
 | |
|             else
 | |
|                 cp ${taget_source_dir}/libht_cus.a ${target_chip_resource_dir}/lib/libsg${img_type_lower}_amp_cus.a
 | |
|             fi
 | |
|             cp ${taget_source_dir}/libht_plc_${plc_lib_kw}.a ${target_chip_resource_dir}/lib/libsg${img_type_lower}_amp_plc_${plc_lib_kw}.a
 | |
|         else
 | |
|             cp ${taget_source_dir}/libht_plc_${plc_lib_kw}.a ${target_chip_resource_dir}/lib/libsg${img_type_lower}_plc_${plc_lib_kw}.a
 | |
|         fi
 | |
|     else
 | |
|         if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|             cp ${taget_source_dir}/libht_cus.a ${target_chip_resource_dir}/lib/libiot${img_type_lower}_amp_cus.a
 | |
|             cp ${taget_source_dir}/libht_plc_${plc_lib_kw}.a ${target_chip_resource_dir}/lib/libiot${img_type_lower}_amp_plc_${plc_lib_kw}.a
 | |
|         else
 | |
|             cp ${taget_source_dir}/libht_plc_${plc_lib_kw}.a ${target_chip_resource_dir}/lib/libiot${img_type_lower}_plc_${plc_lib_kw}.a
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     #prepare board macro.
 | |
|     cp ${taget_source_dir}/macro_config.ini ${target_chip_resource_dir}/
 | |
|     sed -i "/^$/d" ${target_chip_resource_dir}/macro_config.ini
 | |
|     sed -i "s/^/-D/g" ${target_chip_resource_dir}/macro_config.ini
 | |
|     sed -i ':a;N;$!ba;s/\n/ /g' ${target_chip_resource_dir}/macro_config.ini
 | |
| 
 | |
|     #prepare lds.
 | |
|     src_ld_dir="${MAINLINE_FOLDER}/startup/ldscripts/riscv3"
 | |
|     if [ "${img_type_lower}" == "cco" ]; then
 | |
|         if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|             if [ "${psram_size}" == "0" ]; then
 | |
|                 if [ "${boot_opt}" == "fastboot" ]; then
 | |
|                     cp ${src_ld_dir}/link_flash_2m_cus_cco.lds ${target_chip_resource_dir}/ld/link_cco_amp_cus_fb.lds
 | |
|                 else
 | |
|                     cp ${src_ld_dir}/link_flash_2m_cus_cco.lds ${target_chip_resource_dir}/ld/link_cco_amp_cus.lds
 | |
|                 fi
 | |
|                 cp ${src_ld_dir}/link_flash_2m_cco.lds ${target_chip_resource_dir}/ld/link_cco_amp_plc.lds
 | |
|             else
 | |
|                 if [ "${boot_opt}" == "fastboot" ]; then
 | |
|                     cp ${src_ld_dir}/link_psram_8m_cus_cco_fb.lds ${target_chip_resource_dir}/ld/link_cco_amp_cus_fb.lds
 | |
|                 else
 | |
|                     cp ${src_ld_dir}/link_psram_8m_cus_cco.lds ${target_chip_resource_dir}/ld/link_cco_amp_cus.lds
 | |
|                 fi
 | |
|                 cp ${src_ld_dir}/link_psram_8m_cco.lds ${target_chip_resource_dir}/ld/link_cco_amp_plc.lds
 | |
|             fi
 | |
|         else
 | |
|             if [ "${psram_size}" == "0" ]; then
 | |
|                 if [ "${flash_size}" == "2" ]; then
 | |
|                     cp  ${src_ld_dir}/link_flash_2m_cco_plc_only.lds ${target_chip_resource_dir}/ld/link_cco_plc.lds
 | |
|                 else
 | |
|                     cp  ${src_ld_dir}/link_flash_4m_cco_plc_only.lds ${target_chip_resource_dir}/ld/link_cco_plc.lds
 | |
|                 fi
 | |
|             else
 | |
|                 cp ${src_ld_dir}/link_psram_8m_cco_plc_only.lds ${target_chip_resource_dir}/ld/link_cco_plc.lds
 | |
|             fi
 | |
|         fi
 | |
|         if [ -e ${src_ld_dir}/sec_cpu_cco.addrs.ld ]; then
 | |
|             cp ${src_ld_dir}/sec_cpu_cco.addrs.ld ${target_chip_resource_dir}/ld/
 | |
|         fi
 | |
|     elif [ "${img_type_lower}" == "sta" ]; then
 | |
|         if [ "${core_type_lower}" == "ampplc" ]; then
 | |
|             if [ "${psram_size}" == "0" ]; then
 | |
|                 if [ "${boot_opt}" == "fastboot" ]; then
 | |
|                     cp ${src_ld_dir}/link_flash_2m_cus_sta.lds ${target_chip_resource_dir}/ld/link_sta_amp_cus_fb.lds
 | |
|                 else
 | |
|                     cp ${src_ld_dir}/link_flash_2m_cus_sta.lds ${target_chip_resource_dir}/ld/link_sta_amp_cus.lds
 | |
|                 fi
 | |
|                 cp ${src_ld_dir}/link_flash_2m_sta.lds ${target_chip_resource_dir}/ld/link_sta_amp_plc.lds
 | |
|             else
 | |
|                 cp ${src_ld_dir}/link_psram_8m_cus_sta.lds ${target_chip_resource_dir}/ld/link_sta_amp_cus.lds
 | |
|                 cp ${src_ld_dir}/link_psram_8m_sta.lds ${target_chip_resource_dir}/ld/link_sta_amp_plc.lds
 | |
|             fi
 | |
|         else
 | |
|             if [ "${psram_size}" == "0" ]; then
 | |
|                 if [ "${flash_size}" == "2" ]; then
 | |
|                     cp  ${src_ld_dir}/link_flash_2m_sta_plc_only.lds ${target_chip_resource_dir}/ld/link_sta_plc.lds
 | |
|                 else
 | |
|                     cp  ${src_ld_dir}/link_flash_4m_sta_plc_only.lds ${target_chip_resource_dir}/ld/link_sta_plc.lds
 | |
|                 fi
 | |
|             else
 | |
|                 cp ${src_ld_dir}/link_psram_8m_sta_plc_only.lds ${target_chip_resource_dir}/ld/link_sta_plc.lds
 | |
|             fi
 | |
|         fi
 | |
|         if [ -e ${src_ld_dir}/sec_cpu_sta.addrs.ld ]; then
 | |
|             cp ${src_ld_dir}/sec_cpu_sta.addrs.ld ${target_chip_resource_dir}/ld/
 | |
|         fi
 | |
|     fi
 | |
| 
 | |
|     if [ -e ${src_ld_dir}/rom.addrs.ld ]; then
 | |
|         cp ${src_ld_dir}/rom.addrs.ld ${target_chip_resource_dir}/ld/
 | |
|     fi
 | |
| 
 | |
|     if [ "${core_type_lower}" == "ampplc" ] && [ -e ${src_ld_dir}/cus.addrs.ld ]; then
 | |
|         cp ${src_ld_dir}/cus.addrs.ld ${target_chip_resource_dir}/ld/
 | |
|     fi
 | |
| 
 | |
|     cp ${src_ld_dir}/link_sbl.lds ${target_chip_resource_dir}/ld
 | |
| 
 | |
|     #app_lib flag set.
 | |
|     if [ "${DEF_LIBAPP}" == "true" ]; then
 | |
|         sed -i "s/^APPLIB_ENABLE=./APPLIB_ENABLE=1/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
|     else
 | |
|         sed -i "s/^APPLIB_ENABLE=./APPLIB_ENABLE=0/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
|     fi
 | |
| 
 | |
|     # add sdk_type flag.
 | |
|     sed -i "s/^DEF_SDK_TYPE=.*/DEF_SDK_TYPE=${DEF_SDK_TYPE}/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 | |
|     # add sg_type flag.
 | |
|     sed -i "s/^DEF_SG_TYPE=.*/DEF_SG_TYPE=${DEF_SG_TYPE}/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 | |
|     # add iot version.
 | |
|     get_iot_ver ${IOT_VER_FILE}
 | |
|     sed -i "s/^IOT_VER=.*/IOT_VER=\"${IOT_VER}\"/g" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 | |
|     # add git version.
 | |
|     cd ${MAINLINE_FOLDER}/../../../
 | |
|     get_git_ver
 | |
|     cd -
 | |
|     sed -i "s/^GIT_VER=.*/GIT_VER=\"${GIT_VER}\"/g" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 | |
|     # add board type.
 | |
|     sed -i "s/^DEF_BOARD_TYPE=.*/DEF_BOARD_TYPE=\"${platform_type}\"/g" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 | |
|     #normal mode.
 | |
|     sed -i "/^GROUP_NUM=.*/i GROUP_${BUILD_NUM}=(${chip_class_lower} ${chip_id_lower} ${img_type_lower} ${app_lower} ${core_type_lower} ${flash_size} ${psram_size} ${proto_type_lower} ${rf_opt_lower} ${dual_opt_lower} ${boot_opt})" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
|     ((BUILD_NUM=${BUILD_NUM}+1))
 | |
| 
 | |
|     return 0
 | |
| }
 | |
| 
 | |
| sed -i "s/export MBEDTLS_NONE_ROM_EN = 1/export MBEDTLS_NONE_ROM_EN = 0/g" Makefile
 | |
| 
 | |
| #start build sdk.
 | |
| echo "==To build all taget=="
 | |
| if [ "${DEF_SDK_TYPE}" == "sg" ]; then
 | |
|     for ((index=0; index < SG_GROUP_LENGTH; index++)); do
 | |
|         for PT in ${PROTO_TYPE_STR[@]}; do
 | |
|             #rf-enable not support protocol 1901.
 | |
|             if [ "${PT}" == "p1901" ] && [ "${SG_GROUP_RF_OPT[$index]}" == "RF" ]; then
 | |
|                 continue
 | |
|             fi
 | |
|             build_sdk_start ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} ${SG_GROUP_FLASH_SIZE[$index]} ${SG_GROUP_PSRAM_SIZE[$index]} ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} normalboot
 | |
|             if [ "$?" == "0" ]; then
 | |
|                 echo "== ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${SG_GROUP_FLASH_SIZE[$index]}M flash ${SG_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} normalboot sdk build successfully=="
 | |
|             else
 | |
|                echo "== ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${SG_GROUP_FLASH_SIZE[$index]}M flash ${SG_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} normalboot sdk build failed!!!=="
 | |
|             fi
 | |
|             if [ "${SG_GROUP_CORE_TYPE[$index]}" == "AMPPLC" ]; then
 | |
|                 build_sdk_start ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} ${SG_GROUP_FLASH_SIZE[$index]} ${SG_GROUP_PSRAM_SIZE[$index]} ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} fastboot
 | |
|                 if [ "$?" == "0" ]; then
 | |
|                     echo "== ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} "\
 | |
|                     "${SG_GROUP_FLASH_SIZE[$index]}M flash ${SG_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} fastboot sdk build successfully=="
 | |
|                 else
 | |
|                    echo "== ${SG_GROUP_CHIPCLASS[$index]} ${SG_GROUP_CHIPID[$index]} ${SG_GROUP_IMG_TYPE[$index]} SG ${SG_GROUP_CORE_TYPE[$index]} "\
 | |
|                     "${SG_GROUP_FLASH_SIZE[$index]}M flash ${SG_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_GROUP_RF_OPT[$index]} ${SG_GROUP_DUAL_OPT[$index]} fastboot sdk build failed!!!=="
 | |
|                 fi
 | |
|             fi
 | |
|         done
 | |
|     done
 | |
| elif [ "${DEF_SDK_TYPE}" == "sg_ext" ]; then
 | |
|     for ((index=0; index < SG_EXT_GROUP_LENGTH; index++)); do
 | |
|         for PT in ${PROTO_TYPE_STR[@]}; do
 | |
|             #rf-enable not support protocol 1901.
 | |
|             if [ "${PT}" == "p1901" ] && [ "${SG_EXT_GROUP_RF_OPT[$index]}" == "RF" ]; then
 | |
|                 continue
 | |
|             fi
 | |
|             build_sdk_start ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} ${SG_EXT_GROUP_FLASH_SIZE[$index]} ${SG_EXT_GROUP_PSRAM_SIZE[$index]} ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} normalboot
 | |
|             if [ "$?" == "0" ]; then
 | |
|                 echo "== ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${SG_EXT_GROUP_FLASH_SIZE[$index]}M flash ${SG_EXT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} normalboot sdk build successfully=="
 | |
|             else
 | |
|                 echo "== ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${SG_EXT_GROUP_FLASH_SIZE[$index]}M flash ${SG_EXT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} normalboot sdk build failed!!!=="
 | |
|             fi
 | |
|             if [ "${SG_EXT_GROUP_CORE_TYPE[$index]}" == "AMPPLC" ]; then
 | |
|                 build_sdk_start ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} ${SG_EXT_GROUP_FLASH_SIZE[$index]} ${SG_EXT_GROUP_PSRAM_SIZE[$index]} ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} fastboot
 | |
|                 if [ "$?" == "0" ]; then
 | |
|                     echo "== ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} "\
 | |
|                     "${SG_EXT_GROUP_FLASH_SIZE[$index]}M flash ${SG_EXT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} fastboot sdk build successfully=="
 | |
|                 else
 | |
|                     echo "== ${SG_EXT_GROUP_CHIPCLASS[$index]} ${SG_EXT_GROUP_CHIPID[$index]} ${SG_EXT_GROUP_IMG_TYPE[$index]} SG_EXT ${SG_EXT_GROUP_CORE_TYPE[$index]} "\
 | |
|                     "${SG_EXT_GROUP_FLASH_SIZE[$index]}M flash ${SG_EXT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${SG_EXT_GROUP_RF_OPT[$index]} ${SG_EXT_GROUP_DUAL_OPT[$index]} fastboot sdk build failed!!!=="
 | |
|                 fi
 | |
|             fi
 | |
|         done
 | |
|     done
 | |
| elif [ "${DEF_SDK_TYPE}" == "iot" ] || [ "${DEF_SDK_TYPE}" == "iot_ext" ]; then
 | |
|     #iot sdk not support fastboot fireware because of poor flash.
 | |
|     for ((index=0; index < DEMO_GROUP_LENGTH; index++)); do
 | |
|         for PT in ${PROTO_TYPE_STR[@]}; do
 | |
|             #rf-enable not support protocol 1901.
 | |
|             if [ "${PT}" == "p1901" ] && [ "${DEMO_GROUP_RF_OPT[$index]}" == "RF" ]; then
 | |
|                 continue
 | |
|             fi
 | |
|             build_sdk_start ${DEMO_GROUP_CHIPCLASS[$index]} ${DEMO_GROUP_CHIPID[$index]} ${DEMO_GROUP_IMG_TYPE[$index]} DEMO ${DEMO_GROUP_CORE_TYPE[$index]} ${DEMO_GROUP_FLASH_SIZE[$index]} ${DEMO_GROUP_PSRAM_SIZE[$index]} ${PT} ${DEMO_GROUP_RF_OPT[$index]} ${DEMO_GROUP_DUAL_OPT[$index]} normalboot
 | |
|             if [ "$?" == "0" ]; then
 | |
|                 echo "== ${DEMO_GROUP_CHIPCLASS[$index]} ${DEMO_GROUP_CHIPID[$index]} ${DEMO_GROUP_IMG_TYPE[$index]} DEMO ${DEMO_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${DEMO_GROUP_FLASH_SIZE[$index]}M flash ${DEMO_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${DEMO_GROUP_RF_OPT[$index]} ${DEMO_GROUP_DUAL_OPT[$index]} normalboot sdk build successfully=="
 | |
|             else
 | |
|                 echo "== ${DEMO_GROUP_CHIPCLASS[$index]} ${DEMO_GROUP_CHIPID[$index]} ${DEMO_GROUP_IMG_TYPE[$index]} DEMO ${DEMO_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${DEMO_GROUP_FLASH_SIZE[$index]}M flash ${DEMO_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${DEMO_GROUP_RF_OPT[$index]} ${DEMO_GROUP_DUAL_OPT[$index]} normalboot sdk build failed!!!=="
 | |
|             fi
 | |
|         done
 | |
|     done
 | |
| 
 | |
|     for ((index=0; index < CUS_AT_GROUP_LENGTH; index++)); do
 | |
|         for PT in ${PROTO_TYPE_STR[@]}; do
 | |
|             #rf-enable not support protocol 1901.
 | |
|             if [ "${PT}" == "p1901" ] && [ "${CUS_AT_GROUP_RF_OPT[$index]}" == "RF" ]; then
 | |
|                 continue
 | |
|             fi
 | |
|             build_sdk_start ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} CUS_AT ${CUS_AT_GROUP_CORE_TYPE[$index]} ${CUS_AT_GROUP_FLASH_SIZE[$index]} ${CUS_AT_GROUP_PSRAM_SIZE[$index]} ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot
 | |
|             if [ "$?" == "0" ]; then
 | |
|                 echo "== ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} CUS_AT ${CUS_AT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${CUS_AT_GROUP_FLASH_SIZE[$index]}M flash ${CUS_AT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot sdk build successfully=="
 | |
|             else
 | |
|                 echo "== ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} CUS_AT ${CUS_AT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${CUS_AT_GROUP_FLASH_SIZE[$index]}M flash ${CUS_AT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot sdk build failed!!!=="
 | |
|             fi
 | |
|         done
 | |
|     done
 | |
| 
 | |
|     for ((index=0; index < CUS_AT_GROUP_LENGTH; index++)); do
 | |
|         if [ "${DEF_LIBAPP}" == "true" ] && [ "${CUS_AT_GROUP_CORE_TYPE[$index]}" == "PLC" ]; then
 | |
|             continue
 | |
|         fi
 | |
|         for PT in ${PROTO_TYPE_STR[@]}; do
 | |
|             #rf-enable not support protocol 1901.
 | |
|             if [ "${PT}" == "p1901" ] && [ "${CUS_AT_GROUP_RF_OPT[$index]}" == "RF" ]; then
 | |
|                 continue
 | |
|             fi
 | |
|             build_sdk_start ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} SILA ${CUS_AT_GROUP_CORE_TYPE[$index]} ${CUS_AT_GROUP_FLASH_SIZE[$index]} ${CUS_AT_GROUP_PSRAM_SIZE[$index]} ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot
 | |
|             if [ "$?" == "0" ]; then
 | |
|                 echo "== ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} SILA ${CUS_AT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${CUS_AT_GROUP_FLASH_SIZE[$index]}M flash ${CUS_AT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot sdk build successfully=="
 | |
|             else
 | |
|                 echo "== ${CUS_AT_GROUP_CHIPCLASS[$index]} ${CUS_AT_GROUP_CHIPID[$index]} ${CUS_AT_GROUP_IMG_TYPE[$index]} SILA ${CUS_AT_GROUP_CORE_TYPE[$index]} "\
 | |
|                 "${CUS_AT_GROUP_FLASH_SIZE[$index]}M flash ${CUS_AT_GROUP_PSRAM_SIZE[$index]}M psram  ${PT} ${CUS_AT_GROUP_RF_OPT[$index]} ${CUS_AT_GROUP_DUAL_OPT[$index]} normalboot sdk build failed!!!=="
 | |
|             fi
 | |
|         done
 | |
|     done
 | |
| fi
 | |
| 
 | |
| #generate boards resource.
 | |
| gen_boards_resource
 | |
| 
 | |
| echo "==Build all target successfully, dir location : ${TARGET_SDK_FOLDER}=="
 | |
| 
 | |
| sed -i "s/^GROUP_NUM=.*/GROUP_NUM=${BUILD_NUM}/" ${TARGET_SDK_FOLDER}/build/build_target_firmware.sh
 | |
| 
 |