| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DEF_IMAGE_TYPE="" | 
					
						
							|  |  |  | DEF_CUS_APP="17" | 
					
						
							|  |  |  | DEF_PLC_APP="0" | 
					
						
							|  |  |  | DEF_CORE_TYPE="plc" | 
					
						
							|  |  |  | DEF_FLASH="4m" | 
					
						
							|  |  |  | DEF_PSRAM="0m" | 
					
						
							|  |  |  | DEF_CHIP_ID="HZ" | 
					
						
							|  |  |  | DEF_REL="release" | 
					
						
							|  |  |  | DEF_BOARDS_TYPE="" | 
					
						
							|  |  |  | DEF_FASTBOOT="false" | 
					
						
							|  |  |  | DEF_CLEANUP="true" | 
					
						
							|  |  |  | DEF_PROTO_TYPE="p12087" | 
					
						
							|  |  |  | DEF_RF_ENABLE="1" | 
					
						
							|  |  |  | DEF_DUAL_ENABLE="1" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IMG_TYPE=$(echo $1 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | INPUT_CUS_APP=$(echo $2 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | INPUT_PLC_APP=$(echo $3 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | INPUT_CORE_TYPE=$(echo $4 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | INPUT_FLASH_SIZE=$(echo $5 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | INPUT_PSRAM_SIZE=$(echo $6 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | GROUP_IMAGE_TYPE=("cco" "new_type_cco" "sta" "ftm" "ckb") | 
					
						
							|  |  |  | GROUP_CORE_TYPE=("plc" "ampplc") | 
					
						
							|  |  |  | GROUP_FLASH=("2m" "4m") | 
					
						
							|  |  |  | GROUP_PSRAM=("0m" "8m") | 
					
						
							|  |  |  | GROUP_REL=("debug" "release") | 
					
						
							|  |  |  | GROUP_CHIP_ID=("HZ" "WQ") | 
					
						
							|  |  |  | GROUP_RUN_TYPE=("flash" "psram" "upgrade") | 
					
						
							|  |  |  | GROUP_PROTO_TYPE=("p12087" "p1901") | 
					
						
							|  |  |  | GROUP_BOARDS_TYPE=("fpga" "evb03" "htzd03" "qj03" "flx03" "spe03" "goldf03" "ledc03" "stamp03" "gx03" "evb5202" "htzdbr03" "dt03" "htzdpt03" "yp03") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #Specific board definition. | 
					
						
							| 
									
										
										
										
											2024-10-23 15:39:40 +08:00
										 |  |  | # 定义board列表 打包的时候会根据这个列表生成所有的bin文件 | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | BOARDS_FPGA03_CCO=("fpgacco03") | 
					
						
							|  |  |  | BOARDS_FPGA03_STA=("fpgasta03") | 
					
						
							|  |  |  | BOARDS_FPGA03_FTM=("fpgasta03") | 
					
						
							|  |  |  | BOARDS_EVB03_CCO=("evb3031cco03" "evb3201cco03" "evb3201cco03_rfin" "evb5580dcco03" "evb6710cco03") | 
					
						
							|  |  |  | BOARDS_EVB03_STA=("evb3031sta03" "evb3211sta03" "evb3211sta03_rfin" "evb32113ps03" "evb5582dsta03" "evb5582d3ps03" "evb6711sta03" "evb67113ps03") | 
					
						
							|  |  |  | BOARDS_EVB03_FTM=("evb3031sta03" "evb3201cco03" "evb3211sta03" "evb32113ps03" "evb3201cco03_rfin" "evb3211sta03_rfin" "evb5580dcco03" "evb5582dsta03" "evb5582d3ps03" "evb6710cco03" "evb6711sta03" "evb67113ps03") | 
					
						
							|  |  |  | BOARDS_EVB03_CKB=("evb3201ckb03") | 
					
						
							|  |  |  | BOARDS_HTZD03_CCO=("htzd3201cco03") | 
					
						
							|  |  |  | BOARDS_HTZD03_STA=("htzd3211sta03" "htzd3211iic03" "htzd32113ps03") | 
					
						
							|  |  |  | BOARDS_HTZD03_FTM=("htzd3201cco03" "htzd3211sta03" "htzd3211iic03" "htzd32113ps03") | 
					
						
							|  |  |  | BOARDS_HTZD03_CKB=("htzd3201ckb03") | 
					
						
							|  |  |  | BOARDS_QJ03_CCO=("qj5580dcco03") | 
					
						
							|  |  |  | BOARDS_QJ03_STA=("qj5582dsta03" "qj5582diic03" "qj5582d3ps03") | 
					
						
							|  |  |  | BOARDS_QJ03_FTM=("qj5580dcco03" "qj5582dsta03" "qj5582diic03" "qj5582d3ps03") | 
					
						
							|  |  |  | BOARDS_QJ03_CKB=("qj5580dckb03") | 
					
						
							|  |  |  | BOARDS_FLX03_CCO=("flx6710cco03") | 
					
						
							|  |  |  | BOARDS_FLX03_STA=("flx6711sta03" "flx6711iic03" "flx67113ps03") | 
					
						
							|  |  |  | BOARDS_FLX03_FTM=("flx6710cco03" "flx6711sta03" "flx6711iic03" "flx67113ps03") | 
					
						
							|  |  |  | BOARDS_FLX03_CKB=("flx6710ckb03") | 
					
						
							|  |  |  | BOARDS_SPE03_CCO=("spe7303cco03") | 
					
						
							|  |  |  | BOARDS_SPE03_STA=("spe7301sta03" "spe7301iic03" "spe73013ps03") | 
					
						
							|  |  |  | BOARDS_SPE03_FTM=("spe7303cco03" "spe7301sta03" "spe7301iic03" "spe73013ps03") | 
					
						
							|  |  |  | BOARDS_SPE03_CKB=("spe7303ckb03") | 
					
						
							|  |  |  | BOARDS_GOLDF03_CCO=("goldfinger_17p03") | 
					
						
							|  |  |  | BOARDS_GOLDF03_STA=("goldfinger_17p03") | 
					
						
							|  |  |  | BOARDS_GOLDF03_FTM=("goldfinger_17p03") | 
					
						
							|  |  |  | BOARDS_STAMP03_CCO=("stamp03") | 
					
						
							|  |  |  | BOARDS_STAMP03_STA=("stamp03") | 
					
						
							|  |  |  | BOARDS_STAMP03_FTM=("stamp03") | 
					
						
							|  |  |  | BOARDS_LEDC03_CCO=("ledc03") | 
					
						
							|  |  |  | BOARDS_LEDC03_STA=("ledc03") | 
					
						
							|  |  |  | BOARDS_LEDC03_FTM=("ledc03") | 
					
						
							|  |  |  | BOARDS_GX03_CCO=("gx2001cco03") | 
					
						
							|  |  |  | BOARDS_GX03_STA=("gx2011sta03" "gx2011iic03" "gx20113ps03") | 
					
						
							|  |  |  | BOARDS_GX03_FTM=("gx2001cco03" "gx2011sta03" "gx2011iic03" "gx20113ps03") | 
					
						
							|  |  |  | BOARDS_GX03_CKB=("gx2001ckb03") | 
					
						
							|  |  |  | BOARDS_EVB5202_STA=("evb5202sta03" "evb5202i3c03") | 
					
						
							|  |  |  | BOARDS_EVB5202_FTM=("evb5202sta03" "evb5202i3c03") | 
					
						
							|  |  |  | BOARDS_HTZDBR03_STA=("htzd3201bsrm03" "htzd3201brmt03") | 
					
						
							|  |  |  | BOARDS_HTZDBR03_FTM=("htzd3201bsrm03" "htzd3201brmt03") | 
					
						
							|  |  |  | BOARDS_DT03_CCO=("dt0530cco03") | 
					
						
							|  |  |  | BOARDS_DT03_STA=("dt0531sta03" "dt0531iic03" "dt05313ps03") | 
					
						
							|  |  |  | BOARDS_DT03_FTM=("dt0530cco03" "dt0531sta03" "dt0531iic03" "dt05313ps03") | 
					
						
							|  |  |  | BOARDS_DT03_CKB=("dt0530ckb03") | 
					
						
							|  |  |  | BOARDS_YP03_CCO=("yp8801cco03") | 
					
						
							|  |  |  | BOARDS_YP03_STA=("yp8811sta03" "yp88113ps03" "yp8811iic03") | 
					
						
							|  |  |  | BOARDS_YP03_FTM=("yp8801cco03" "yp8811sta03" "yp88113ps03" "yp8811iic03") | 
					
						
							|  |  |  | BOARDS_YP03_CKB=("yp8801ckb03") | 
					
						
							|  |  |  | BOARDS_HTZDPT03_STA=("htzd3211pt03") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RF_OPT_STR=("rf" "no_rf") | 
					
						
							|  |  |  | DUAL_OPT_STR=("dual" "no_dual") | 
					
						
							|  |  |  | INCREMENT_COMPILE_STR=("not_clean" "NOT_CLEAN") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SRC_ENV_FILE_IOT="env_iot_kl3.sh" | 
					
						
							|  |  |  | SRC_ENV_FILE_SG="env_flash_kl3.sh" | 
					
						
							|  |  |  | SRC_ENV_FILE_FTM="env_flash_ftm_kl3.sh" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "?" == "$1" ] || [ "" == "$1" ]; then | 
					
						
							|  |  |  |     echo  "*$0 [IMAGE_TYPE] [CUS_APPID] [PLC_APPID] [CORE_TYPE] [FLASH_SIZE] [PSRAM_SIZE] [CHIP_ID] [PROTO_TYPE] [RF_OPT] [DUAL_OPT] [DEBUG_TYPE] [FASTBOOT] [BOARDS_TYPE] [NOT_CLEAN]" | 
					
						
							|  |  |  |     echo  "*   [IMAGE_TYPE] -- Necessary, img type, (${GROUP_IMAGE_TYPE[@]})." | 
					
						
							|  |  |  |     echo  "*   [CUS_APPID]  -- Necessary, appid, 0~13, 17:cust_demo/23:cust_at." | 
					
						
							|  |  |  |     echo  "*   [PLC_APPID]  -- Necessary, appid, 0~13, 0:sg/3:demo/4:ge/5:sg_ext/8:ge_lwip/11:brm/12:demo_lwip/14:bsrm/15:sniffer/16:bsrm_cus/17:cust_demo/18:cus_at/24:sila." | 
					
						
							|  |  |  |     echo  "*   [CORE_TYPE]  -- Necessary, core type, (${GROUP_CORE_TYPE[@]}), default is plc." | 
					
						
							|  |  |  |     echo  "*   [FLASH_SIZE] -- Necessary, flash size, (${GROUP_FLASH[@]}), default is 4m." | 
					
						
							|  |  |  |     echo  "*   [PSRAM_SIZE] -- Necessary, psram size, (${GROUP_PSRAM[@]}), default is 0m." | 
					
						
							|  |  |  |     echo  "*   [CHIP_ID]    -- Optional, chip id, (${GROUP_CHIP_ID[@]}), default is HZ." | 
					
						
							|  |  |  |     echo  "*   [PROTO_TYPE] -- Optional, protocol type, (${GROUP_PROTO_TYPE[@]}), default is p12087." | 
					
						
							|  |  |  |     echo  "*   [RF_OPT]     -- Optional, rf enable or not, (rf/null), default is enable rf." | 
					
						
							|  |  |  |     echo  "*   [DUAL_OPT]   -- Optional, dual enable or not, (dual/null), default is enable dual." | 
					
						
							|  |  |  |     echo  "*   [DEBUG_TYPE] -- Optional, release or debug, (${GROUP_REL[@]}), default is release." | 
					
						
							|  |  |  |     echo  "*   [FASTBOOT]   -- Optional, fast boot mode or not, (fastboot/null), default is normal mode." | 
					
						
							|  |  |  |     echo  "*   [BOARDS_TYPE] -- Optional, boards type, (${GROUP_BOARDS_TYPE[@]}), default will build evb boards." | 
					
						
							|  |  |  |     echo  "*   [NOT_CLEAN]  -- Optional, clean or not, 'not_clean' means incremental build, default is clean." | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo "*********************************** BOARD SUPPORT IMAGE_TYPE DEFINATION ***********************************" | 
					
						
							|  |  |  |     echo  "board supports define:" | 
					
						
							|  |  |  |     echo  "fpga" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_FPGA03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_FPGA03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_FPGA03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "evb03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_EVB03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_EVB03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_EVB03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "htzd03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_HTZD03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_HTZD03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_HTZD03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_HTZD03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "qj03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_QJ03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_QJ03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_QJ03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_QJ03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "flx03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_FLX03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_FLX03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_FLX03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_FLX03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "spe03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_SPE03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_SPE03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_SPE03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_SPE03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "goldf03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_GOLDF03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_GOLDF03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_GOLDF03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "ledc03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_LEDC03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_LEDC03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_LEDC03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "stamp03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_STAMP03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_STAMP03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_STAMP03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "gx03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_GX03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_GX03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_GX03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_GX03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "evb5202" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_EVB5202_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_EVB5202_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "htzdbr03" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_HTZDBR03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_HTZDBR03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "dt03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_DT03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_DT03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_DT03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_DT03_CKB[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "htzdpt03" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_HTZDPT03_STA[@]})" | 
					
						
							|  |  |  |     echo  "" | 
					
						
							|  |  |  |     echo  "yp03" | 
					
						
							|  |  |  |     echo  "cco : (${BOARDS_YP03_CCO[@]})" | 
					
						
							|  |  |  |     echo  "sta : (${BOARDS_YP03_STA[@]})" | 
					
						
							|  |  |  |     echo  "ftm : (${BOARDS_YP03_FTM[@]})" | 
					
						
							|  |  |  |     echo  "ckb : (${BOARDS_YP03_CKB[@]})" | 
					
						
							|  |  |  |     echo "**************************************************  END **************************************************" | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd ../tools/gen_img | 
					
						
							|  |  |  | rm -f *.map | 
					
						
							|  |  |  | rm -f *.bin | 
					
						
							|  |  |  | rm -f *.bin.fw | 
					
						
							|  |  |  | rm -f *.out | 
					
						
							|  |  |  | cd - | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rm ../Makefile 2>/dev/null | 
					
						
							|  |  |  | ln -s ./build/Makefile ../Makefile | 
					
						
							|  |  |  | set -o errexit | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_CLEANUP | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${INCREMENT_COMPILE_STR[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_CLEANUP="false" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_IMAGE_TYPE | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_IMAGE_TYPE[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_IMAGE_TYPE="$k" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_CUS_APP | 
					
						
							|  |  |  | if [ "${INPUT_CUS_APP}" != "" ]; then | 
					
						
							|  |  |  |     DEF_CUS_APP="${INPUT_CUS_APP}" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_PLC_APP | 
					
						
							|  |  |  | if [ "${INPUT_PLC_APP}" != "" ]; then | 
					
						
							|  |  |  |     DEF_PLC_APP="${INPUT_PLC_APP}" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_CORE_TYPE | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_CORE_TYPE[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_CORE_TYPE="$k" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_BOARDS_TYPE | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_BOARDS_TYPE[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_BOARDS_TYPE="$k" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_FLASH_SIZE | 
					
						
							|  |  |  | if [ "${INPUT_FLASH_SIZE}" != "" ]; then | 
					
						
							|  |  |  |     for arg in ${GROUP_FLASH[@]}; do | 
					
						
							|  |  |  |         if [ "${INPUT_FLASH_SIZE}" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_FLASH="${INPUT_FLASH_SIZE}" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_PSRAM_SIZE | 
					
						
							|  |  |  | if [ "${INPUT_PSRAM_SIZE}" != "" ]; then | 
					
						
							|  |  |  |     for arg in ${GROUP_PSRAM[@]}; do | 
					
						
							|  |  |  |         if [ "${INPUT_PSRAM_SIZE}" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_PSRAM="${INPUT_PSRAM_SIZE}" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_CHIP | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_CHIP_ID[@]}; do | 
					
						
							|  |  |  |         ARG="$(echo ${arg} | tr '[a-z]' '[A-Z]')" | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ] || [ "$k" == "$ARG" ]; then | 
					
						
							|  |  |  |             DEF_CHIP_ID="$ARG" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_PROTO_TYPE | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_PROTO_TYPE[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_PROTO_TYPE="$k" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_RF_OPT | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${RF_OPT_STR[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ] && [ "$arg" == "no_rf" ]; then | 
					
						
							|  |  |  |             DEF_RF_ENABLE="0" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_DUAL_OPT | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${DUAL_OPT_STR[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ] && [ "$arg" == "no_dual" ]; then | 
					
						
							|  |  |  |             DEF_DUAL_ENABLE="0" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #DEF_REL | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     for arg in ${GROUP_REL[@]}; do | 
					
						
							|  |  |  |         if [ "$k" == "$arg" ]; then | 
					
						
							|  |  |  |             DEF_REL="$k" | 
					
						
							|  |  |  |             break | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #FASTBOOT_MODE | 
					
						
							|  |  |  | for k in $@; do | 
					
						
							|  |  |  |     if [ "$k" == "fastboot" ]; then | 
					
						
							|  |  |  |         DEF_FASTBOOT="true" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ ${DEF_FASTBOOT} == "true" ]; then | 
					
						
							|  |  |  |     export fastboot_mode=1 | 
					
						
							|  |  |  |     GEN_FASTBOOT_STR="-f 1" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_IMAGE_TYPE}" == "new_type_cco" ]; then | 
					
						
							|  |  |  |     export new_type_cco=1 | 
					
						
							|  |  |  |     DEF_IMAGE_TYPE=cco | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_IMAGE_TYPE}" == "ftm" ]; then | 
					
						
							|  |  |  |     SRC_ENV_FILE=${SRC_ENV_FILE_FTM} | 
					
						
							|  |  |  |     IOT_BUILD=0 | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     if [ "${DEF_PLC_APP}" == "0" ] || [ "${DEF_PLC_APP}" == "5" ] || [ "${DEF_PLC_APP}" == "6" ] \
 | 
					
						
							|  |  |  |     || [ "${DEF_PLC_APP}" == "11" ] || [ "${DEF_PLC_APP}" == "14" ] || [ "${DEF_PLC_APP}" == "15" ] \
 | 
					
						
							|  |  |  |     || [ "${DEF_PLC_APP}" == "16" ]; then | 
					
						
							|  |  |  |         SRC_ENV_FILE=${SRC_ENV_FILE_SG} | 
					
						
							|  |  |  |         IOT_BUILD=0 | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         SRC_ENV_FILE=${SRC_ENV_FILE_IOT} | 
					
						
							|  |  |  |         IOT_BUILD=1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_IMAGE_TYPE}" == "ftm" ] || [ "${DEF_IMAGE_TYPE}" == "ckb" ] || [ "${IOT_BUILD}" == "1" ] \
 | 
					
						
							|  |  |  |     || [ "x${DEF_BOARDS_TYPE}" == "xhtzdpt03" ]; then | 
					
						
							|  |  |  |     # not support upgrade fw. | 
					
						
							| 
									
										
										
										
											2024-10-23 15:39:40 +08:00
										 |  |  |     # 这些类型的固件不支持 upgrade | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |     unset GROUP_RUN_TYPE[2] | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CUST_APP="unknown" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ ${DEF_PLC_APP} == 0 ]; then | 
					
						
							|  |  |  |     CUST_APP="sg" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 3 ]; then | 
					
						
							|  |  |  |     CUST_APP="demo" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 4 ]; then | 
					
						
							|  |  |  |     CUST_APP="ge" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 5 ]; then | 
					
						
							|  |  |  |     CUST_APP="sg_ext" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 8 ]; then | 
					
						
							|  |  |  |     CUST_APP="ge_lwip" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 9 ]; then | 
					
						
							|  |  |  |     CUST_APP="ge_ext" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 11 ]; then | 
					
						
							|  |  |  |     CUST_APP="brm" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 12 ]; then | 
					
						
							|  |  |  |     CUST_APP="demo_lwip" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 14 ]; then | 
					
						
							|  |  |  |     CUST_APP="bsrm" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 15 ]; then | 
					
						
							|  |  |  |     CUST_APP="sniffer" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 16 ]; then | 
					
						
							|  |  |  |     CUST_APP="bsrm_cus" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 18 ]; then | 
					
						
							|  |  |  |     CUST_APP="cus_at" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 19 ]; then | 
					
						
							|  |  |  |     CUST_APP="iot_sniffer" | 
					
						
							|  |  |  | elif [ ${DEF_PLC_APP} == 24 ]; then | 
					
						
							|  |  |  | 	CUST_APP="sila" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     echo "fatal:Unknown APP = ${DEF_PLC_APP}!!!" | 
					
						
							|  |  |  |     echo "0:SG, 3:DEMO, 4:GE, 5:GE_EXT, 8:GE-LWIP, 9:GE_EXT, 11:BRM, 12:DEMO_LWIP, 14:BSRM, 15:SNIFFER, 16:BSRM_CUS, 18:CUS_AT, 19:IOT_SNIFFER, 24:SILA, " | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_IMAGE_TYPE}" == "" -o "${DEF_PLC_APP}" == "" ]; then | 
					
						
							|  |  |  |     echo "fatal:param err, build failed!!!, para1:$1  para2:$2" | 
					
						
							|  |  |  |     exit 2 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_RF_ENABLE}" == "1" ] && [ "${DEF_PROTO_TYPE}" == "p1901" ]; then | 
					
						
							|  |  |  |     echo "fatal: rf-enable fw not support protocol p1901." | 
					
						
							|  |  |  |     exit 3 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_FLASH}" == "4m" ]; then | 
					
						
							|  |  |  |     FLASH_SIZE_nM=4 | 
					
						
							|  |  |  | elif [ "${DEF_FLASH}" == "2m" ]; then | 
					
						
							|  |  |  |     FLASH_SIZE_nM=2 | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     FLASH_SIZE_nM=4 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_PSRAM}" == "8m" ]; then | 
					
						
							|  |  |  |     PSRAM_SIZE_nM=8 | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     PSRAM_SIZE_nM=0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export flash_size=${FLASH_SIZE_nM} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-23 15:39:40 +08:00
										 |  |  | # run in flash or psram | 
					
						
							|  |  |  | # 根据psram的大小来判断生成的固件类型 | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | if [ "${DEF_PSRAM}" == "0m" ]; then | 
					
						
							|  |  |  |     export psram_enable=0 | 
					
						
							|  |  |  |     export psram_size=0 | 
					
						
							|  |  |  |     unset GROUP_RUN_TYPE[1] | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     export psram_enable=1 | 
					
						
							|  |  |  |     export psram_size=$PSRAM_SIZE_nM | 
					
						
							|  |  |  |     unset GROUP_RUN_TYPE[0] | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # layout_index see LAYOUT_IDX_XXX for value range | 
					
						
							|  |  |  | if [ "${DEF_CORE_TYPE}" == "ampplc" ]; then | 
					
						
							|  |  |  |     if [ "${DEF_PSRAM}" == "0m" ]; then | 
					
						
							|  |  |  |         export layout_index=10 | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         export layout_index=9 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     if [ "$DEF_PSRAM" == "0m" ]; then | 
					
						
							|  |  |  |         if [ "$DEF_FLASH" == "2m" ]; then | 
					
						
							|  |  |  |             export layout_index=5 | 
					
						
							|  |  |  |         elif [ "$DEF_FLASH" == "4m" ]; then | 
					
						
							|  |  |  |             export layout_index=7 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         if [ "$DEF_FLASH" == "2m" ]; then | 
					
						
							|  |  |  |             export layout_index=6 | 
					
						
							|  |  |  |         elif [ "$DEF_FLASH" == "4m" ]; then | 
					
						
							|  |  |  |             export layout_index=8 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define GROUP_BOARDS_DEF, default is evb03 boards. | 
					
						
							|  |  |  | if [ "${IOT_BUILD}" == "0" ]; then | 
					
						
							|  |  |  |     if [ "${DEF_IMAGE_TYPE}" == "cco" ]; then | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xfpga" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FPGA03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="FPGA" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xqj03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_QJ03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xflx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FLX03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xspe03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_SPE03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GX03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xdt03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_DT03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xyp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_YP03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             #sg app not use 3031 board. | 
					
						
							|  |  |  |             unset BOARDS_EVB03_CCO[0] | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     elif [ "${DEF_IMAGE_TYPE}" == "ftm" ]; then | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xfpga" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FPGA03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="FPGA" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xqj03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_QJ03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xflx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FLX03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xspe03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_SPE03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GX03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xdt03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_DT03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xyp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_YP03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xevb5202" ]; then | 
					
						
							|  |  |  |             if [ "${DEF_PLC_APP}" == "11" ]; then | 
					
						
							|  |  |  |                 unset BOARDS_EVB5202_FTM[0] | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 unset BOARDS_EVB5202_FTM[1] | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB5202_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzdbr03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZDBR03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgoldf03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GOLDF03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xstamp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_STAMP03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xledc" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_LEDC03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             #evb03. | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_FTM[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     elif [ "${DEF_IMAGE_TYPE}" == "ckb" ]; then | 
					
						
							|  |  |  |         DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xqj03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_QJ03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xflx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FLX03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xspe03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_SPE03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GX03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xdt03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_DT03_CKB[@]}) | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xyp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_YP03_CKB[@]}) | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             #evb03. | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_CKB[@]}) | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         #sta. | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xfpga" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FPGA03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="FPGA" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xqj03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_QJ03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xflx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FLX03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xspe03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_SPE03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgx03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GX03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xdt03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_DT03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xyp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_YP03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xevb5202" ]; then | 
					
						
							|  |  |  |             if [ "${DEF_PLC_APP}" == "11" ]; then | 
					
						
							|  |  |  |                 unset BOARDS_EVB5202_STA[0] | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 unset BOARDS_EVB5202_STA[1] | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB5202_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzdbr03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZDBR03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzdpt03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZDPT03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             #sg app not use 3031 board. | 
					
						
							|  |  |  |             unset BOARDS_EVB03_STA[0] | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     #IOT app use 3031 board and 3201 board. | 
					
						
							|  |  |  |     if [ "${DEF_IMAGE_TYPE}" == "cco" ]; then | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xfpga" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FPGA03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="FPGA" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgoldf03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GOLDF03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xstamp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_STAMP03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xledc03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_LEDC03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_CCO[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_CCO[0]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         #sta | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xfpga" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_FPGA03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="FPGA" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xgoldf03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_GOLDF03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xstamp03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_STAMP03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xledc03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_LEDC03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         elif [ "x${DEF_BOARDS_TYPE}" == "xhtzd03" ]; then | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_HTZD03_STA[@]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             GROUP_BOARDS_DEF=(${BOARDS_EVB03_STA[0]}) | 
					
						
							|  |  |  |             DEF_PLATFORM_TYPE="CHIP" | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-28 16:55:35 +08:00
										 |  |  | build_prepare() { | 
					
						
							|  |  |  |     #prepare sdk source. | 
					
						
							|  |  |  |     GEN_IMG_FOLDER="../tools/gen_img" | 
					
						
							|  |  |  |     if [ ! -d "${GEN_IMG_FOLDER}/lib_sdk_source" ]; then | 
					
						
							|  |  |  |         mkdir ${GEN_IMG_FOLDER}/lib_sdk_source | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     # 如果不存在这些工具则创建 | 
					
						
							|  |  |  |     if [ ! -e "../tools/bin_tool/bin2hex" ]; then | 
					
						
							|  |  |  |         cd "../tools/bin_tool" | 
					
						
							|  |  |  |         gcc bin2hex.c -o bin2hex | 
					
						
							|  |  |  |         cd - | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if [ ! -e "../tools/bin_tool/hex2bin" ]; then | 
					
						
							|  |  |  |         cd "../tools/bin_tool" | 
					
						
							|  |  |  |         gcc hex2bin.c -o hex2bin | 
					
						
							|  |  |  |         cd - | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if [ ! -e "../tools/bin_tool/bin2hex_frame" ]; then | 
					
						
							|  |  |  |         cd "../tools/bin_tool" | 
					
						
							|  |  |  |         gcc bin2hex_frame.c -o bin2hex_frame | 
					
						
							|  |  |  |         cd - | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if [ ! -e "../export/lib" ]; then | 
					
						
							|  |  |  |         mkdir ../export/lib | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-09-28 16:01:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-28 16:55:35 +08:00
										 |  |  | build_prepare | 
					
						
							| 
									
										
										
										
											2024-09-28 16:01:14 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | export HW_CHIP_ID="${DEF_CHIP_ID}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | build_obj_func() { | 
					
						
							|  |  |  |     IMG_TYPE=$(echo $1 | tr '[A-Z]' '[a-z]') | 
					
						
							|  |  |  |     APP_SELECTION=$2 | 
					
						
							|  |  |  |     BUILD_TYPE=$(echo $3 |tr '[a-z]' '[A-Z]') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     local plc_lib_kw="${DEF_PROTO_TYPE}" | 
					
						
							|  |  |  |     if [ "${DEF_RF_ENABLE}" == "1" ]; then | 
					
						
							|  |  |  |         plc_lib_kw="${plc_lib_kw}_rf" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${DEF_DUAL_ENABLE}" == "1" ]; then | 
					
						
							|  |  |  |         plc_lib_kw="${plc_lib_kw}_dual" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ ${DEF_FASTBOOT} == "true" ]; then | 
					
						
							|  |  |  |         plc_lib_kw="${plc_lib_kw}_fb" | 
					
						
							|  |  |  |         lib_fb_str="_fb" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ ${APP_SELECTION} == ${DEF_PLC_APP} ]; then | 
					
						
							|  |  |  |         export PROTO_TYPE="${DEF_PROTO_TYPE}" | 
					
						
							|  |  |  |         export rf_enable="${DEF_RF_ENABLE}" | 
					
						
							|  |  |  |         export dual_enable="${DEF_DUAL_ENABLE}" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${DEF_CORE_TYPE}" == "ampplc" ]; then | 
					
						
							|  |  |  |         if [ "${BUILD_TYPE}" == "PLC" ]; then | 
					
						
							|  |  |  |             plc_make_starttime=$(date +%s) | 
					
						
							|  |  |  |             export build_amp_type=2 | 
					
						
							|  |  |  |         else | 
					
						
							| 
									
										
										
										
											2024-10-14 08:10:17 +08:00
										 |  |  |             # CUS? | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             cus_make_starttime=$(date +%s) | 
					
						
							|  |  |  |             export build_amp_type=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         export sec_cpu_enable=0 | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         plc_make_starttime=$(date +%s) | 
					
						
							|  |  |  |         export build_amp_type=0 | 
					
						
							|  |  |  |         if [ "${DEF_FLASH}" == "4m" ]; then | 
					
						
							|  |  |  |             export sec_cpu_enable=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${IMG_TYPE}" == "cco" ]; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         taget_cco_source_dir="${GEN_IMG_FOLDER}/lib_sdk_source/kl3_${DEF_CHIP_ID}_${IMG_TYPE}_${DEF_PLC_APP}_${DEF_CORE_TYPE}_${DEF_FLASH}_${DEF_PSRAM}_${DEF_REL}" | 
					
						
							|  |  |  |         if [ ! -d ${taget_cco_source_dir} ]; then | 
					
						
							|  |  |  |             mkdir ${taget_cco_source_dir} | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "${IOT_BUILD}" == "1" ]; then | 
					
						
							|  |  |  |             export smart_cco_sta=1 | 
					
						
							|  |  |  |             . ${SRC_ENV_FILE} ${IMG_TYPE} ${APP_SELECTION} ${DEF_REL} ${DEF_FLASH} ${DEF_PSRAM} | 
					
						
							|  |  |  |             if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             fi | 
					
						
							|  |  |  |             if [ "${APP_SELECTION}" == "${DEF_CUS_APP}" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=1 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} PLC_SUPPORT_3_PHASE=0 -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |                 #kl3 cus_core file. | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.bin ../tools/gen_img/ht_cus.bin | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.out ../tools/gen_img/ht_cus.out | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.map ../tools/gen_img/ht_cus.map | 
					
						
							|  |  |  |                 cp ../export/lib/libapp.a ${taget_cco_source_dir}/libapp_cus.a | 
					
						
							|  |  |  |                 cp ../export/lib/libht_cco.a ${taget_cco_source_dir}/libht_cus${lib_fb_str}.a | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 #kl3 plc_core file. | 
					
						
							|  |  |  |                 if [ "${DEF_FLASH}" == "4m" ] && [ "${DEF_PSRAM}" == "8m" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                     ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=1 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |                     cp ../ap/.output/plc/lib/ht_cco.bin ../tools/gen_img/iot_ht_3p.bin | 
					
						
							|  |  |  |                     cp ../ap/.output/plc/lib/ht_cco.out ../tools/gen_img/ht_3p.out | 
					
						
							|  |  |  |                     cp ../ap/.output/plc/lib/ht_cco.map ../tools/gen_img/ht_3p.map | 
					
						
							|  |  |  |                     cp ../export/lib/libht_cco.a ${taget_cco_source_dir}/libht_plc_${plc_lib_kw}_3p.a | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                     ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |                 fi | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=1 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} PLC_SUPPORT_3_PHASE=0 -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |                 cp ../ap/.output/plc/lib/ht_cco.bin ../tools/gen_img/iot_ht_1p.bin | 
					
						
							|  |  |  |                 cp ../ap/.output/plc/lib/ht_cco.out ../tools/gen_img/ht_1p.out | 
					
						
							|  |  |  |                 cp ../ap/.output/plc/lib/ht_cco.map ../tools/gen_img/ht_1p.map | 
					
						
							|  |  |  |                 cp ../sbl/.output/plc/lib/kunlun_sbl.bin ${taget_cco_source_dir}/sbl.bin | 
					
						
							|  |  |  |                 cp ../export/lib/libapp.a ${taget_cco_source_dir}/libapp_plc.a | 
					
						
							|  |  |  |                 #kl3 iot sdk only support 1p-cco library currently | 
					
						
							|  |  |  |                 cp ../export/lib/libht_cco.a ${taget_cco_source_dir}/libht_plc_${plc_lib_kw}.a | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 #prepare macro_config.ini for kl3 sdk source. | 
					
						
							|  |  |  |                 cp ../export/lib/macro_config.ini ${taget_cco_source_dir} | 
					
						
							|  |  |  |                 sed -i "s/ /\n/g" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/PLC_SUPPORT_3_PHASE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/SUPPORT_IEEE_1901=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/HPLC_RF_SUPPORT=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/HPLC_RF_DEV_SUPPORT=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/BUILD_AMP_TYPE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/BUILD_FASTBOOT_MODE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/IOT_APP_SELECTION=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/IOT_SMART_CONFIG=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/PLC_SUPPORT_CCO_ROLE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |             . clean_env_flash_smart.sh ${IMG_TYPE} ${APP_SELECTION} | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             export cco=1 | 
					
						
							|  |  |  |             . ${SRC_ENV_FILE} | 
					
						
							|  |  |  |             if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             fi | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |             ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=1 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             if [ "${APP_SELECTION}" == "${DEF_CUS_APP}" ]; then | 
					
						
							|  |  |  |                 #kl3 customer demo, cus_core. | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.bin ../tools/gen_img/ht_cus.bin | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.out ../tools/gen_img/ht_cus.out | 
					
						
							|  |  |  |                 cp ../ap/.output/cus/lib/ht_cco.map ../tools/gen_img/ht_cus.map | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 cp ../export/lib/libapp.a ${taget_cco_source_dir}/libapp_cus.a | 
					
						
							|  |  |  |                 cp ../export/lib/libht_cco.a ${taget_cco_source_dir}/libht_cus${lib_fb_str}.a | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 cp ../ap/.output/plc/lib/ht_cco.bin ../tools/gen_img/iot_ht_3p.bin | 
					
						
							|  |  |  |                 cp ../ap/.output/plc/lib/ht_cco.out ../tools/gen_img/ht_3p.out | 
					
						
							|  |  |  |                 cp ../ap/.output/plc/lib/ht_cco.map ../tools/gen_img/ht_3p.map | 
					
						
							|  |  |  |                 cp ../sbl/.output/plc/lib/kunlun_sbl.bin ${taget_cco_source_dir}/sbl.bin | 
					
						
							|  |  |  |                 cp ../export/lib/libapp.a ${taget_cco_source_dir}/libapp_plc.a | 
					
						
							|  |  |  |                 #kl3 sg sdk use 3p-cco library. | 
					
						
							|  |  |  |                 cp ../export/lib/libht_cco.a ${taget_cco_source_dir}/libht_plc_${plc_lib_kw}.a | 
					
						
							|  |  |  |                 #prepare macro_config.ini for kl3 sdk source. | 
					
						
							|  |  |  |                 cp ../export/lib/macro_config.ini ${taget_cco_source_dir} | 
					
						
							|  |  |  |                 sed -i "s/ /\n/g" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/SUPPORT_IEEE_1901=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/HPLC_RF_SUPPORT=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/HPLC_RF_DEV_SUPPORT=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/BUILD_AMP_TYPE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/BUILD_FASTBOOT_MODE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/IOT_APP_SELECTION=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/IOT_SMART_CONFIG=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |                 sed -i "/PLC_SUPPORT_CCO_ROLE=.*/d" ${taget_cco_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${IMG_TYPE}" == "sta" ]; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         taget_sta_source_dir="${GEN_IMG_FOLDER}/lib_sdk_source/kl3_${DEF_CHIP_ID}_${IMG_TYPE}_${DEF_PLC_APP}_${DEF_CORE_TYPE}_${DEF_FLASH}_${DEF_PSRAM}_${DEF_REL}" | 
					
						
							|  |  |  |         if [ ! -d ${taget_sta_source_dir} ]; then | 
					
						
							|  |  |  |             mkdir ${taget_sta_source_dir} | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "x${DEF_BOARDS_TYPE}" == "xhtzdpt03" ]; then | 
					
						
							|  |  |  |             export pt_board_build=2 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "${IOT_BUILD}" == "1" ]; then | 
					
						
							|  |  |  |             export smart_cco_sta=2 | 
					
						
							|  |  |  |             . ${SRC_ENV_FILE} ${IMG_TYPE} ${APP_SELECTION} ${DEF_REL} ${DEF_FLASH} ${DEF_PSRAM} | 
					
						
							|  |  |  |             if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             fi | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |             ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=0 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             . clean_env_flash_smart.sh ${IMG_TYPE} ${APP_SELECTION} | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             export cco=0 | 
					
						
							|  |  |  |             . ${SRC_ENV_FILE} | 
					
						
							|  |  |  |             if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |                 ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |             fi | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |             ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=0 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "${APP_SELECTION}" == "${DEF_CUS_APP}" ]; then | 
					
						
							|  |  |  |             #kl3 customer demo, cus_core. | 
					
						
							|  |  |  |             cp ../ap/.output/cus/lib/ht_sta.bin ../tools/gen_img/ht_cus.bin | 
					
						
							|  |  |  |             cp ../ap/.output/cus/lib/ht_sta.out ../tools/gen_img/ht_cus.out | 
					
						
							|  |  |  |             cp ../ap/.output/cus/lib/ht_sta.map ../tools/gen_img/ht_cus.map | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             cp ../export/lib/libapp.a ${taget_sta_source_dir}/libapp_cus.a | 
					
						
							|  |  |  |             cp ../export/lib/libht_sta.a ${taget_sta_source_dir}/libht_cus${lib_fb_str}.a | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             #plc core. | 
					
						
							|  |  |  |             cp ../ap/.output/plc/lib/ht_sta.bin ../tools/gen_img/ht.bin | 
					
						
							|  |  |  |             cp ../ap/.output/plc/lib/ht_sta.out ../tools/gen_img/ht.out | 
					
						
							|  |  |  |             cp ../ap/.output/plc/lib/ht_sta.map ../tools/gen_img/ht.map | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             #prepare sdk material. | 
					
						
							|  |  |  |             cp ../export/lib/libapp.a ${taget_sta_source_dir}/libapp_plc.a | 
					
						
							|  |  |  |             cp ../export/lib/libht_sta.a ${taget_sta_source_dir}/libht_plc_${plc_lib_kw}.a | 
					
						
							|  |  |  |             cp ../sbl/.output/plc/lib/kunlun_sbl.bin ${taget_sta_source_dir}/sbl.bin | 
					
						
							|  |  |  |             cp ../export/lib/macro_config.ini ${taget_sta_source_dir} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             sed -i "s/ /\n/g" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/SUPPORT_IEEE_1901=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/HPLC_RF_SUPPORT=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/HPLC_RF_DEV_SUPPORT=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/BUILD_AMP_TYPE=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/BUILD_FASTBOOT_MODE=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/IOT_APP_SELECTION=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/IOT_SMART_CONFIG=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |             sed -i "/PLC_SUPPORT_CCO_ROLE=.*/d" ${taget_sta_source_dir}/macro_config.ini | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${IMG_TYPE}" == "ftm" ]; then | 
					
						
							|  |  |  |         export cco=0 | 
					
						
							|  |  |  |         . ${SRC_ENV_FILE} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |             ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |         ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=0 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_ftm.bin ../tools/gen_img/ht.bin | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_ftm.out ../tools/gen_img/ht.out | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_ftm.map ../tools/gen_img/ht.map | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${IMG_TYPE}" == "ckb" ]; then | 
					
						
							|  |  |  |         export cco=0 | 
					
						
							|  |  |  |         export ckb=1 | 
					
						
							|  |  |  |         . ${SRC_ENV_FILE} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if [ "${DEF_CLEANUP}" == "true" ]; then | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |             ./make.py -j APP=${APP_SELECTION} -C .. clobber | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-25 19:37:32 +08:00
										 |  |  |         ./make.py -j PLATFORM=${DEF_PLATFORM_TYPE} cco=0 APP=${APP_SELECTION} FLASH_SIZE=${FLASH_SIZE_nM} -C .. | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_sta.bin ../tools/gen_img/ht.bin | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_sta.out ../tools/gen_img/ht.out | 
					
						
							|  |  |  |         cp ../ap/.output/plc/lib/ht_sta.map ../tools/gen_img/ht.map | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if [ "${BUILD_TYPE}" == "PLC" ]; then | 
					
						
							|  |  |  |         plc_make_endtime=$(date +%s) | 
					
						
							|  |  |  |         plc_make_time_interval=$((${plc_make_endtime} - ${plc_make_starttime})) | 
					
						
							|  |  |  |         echo "plc_make_starttime:${plc_make_starttime}" | 
					
						
							|  |  |  |         echo "plc_make_endtime:${plc_make_endtime}" | 
					
						
							|  |  |  |         echo "plc_make_time_interval:${plc_make_time_interval}" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         cus_make_endtime=$(date +%s) | 
					
						
							|  |  |  |         cus_make_time_interval=$((${cus_make_endtime} - ${cus_make_starttime})) | 
					
						
							|  |  |  |         echo "cus_make_start_time:${cus_make_starttime}" | 
					
						
							|  |  |  |         echo "cus_make_endtime:${cus_make_endtime}" | 
					
						
							|  |  |  |         echo "cus_make_time_interval:${cus_make_time_interval}" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #start building... | 
					
						
							|  |  |  | echo "start building: $0 $@ , $(date +%Y-%m-%d\ %H:%M:%S)" | 
					
						
							|  |  |  | if [ "${DEF_CORE_TYPE}" == "ampplc" ]; then | 
					
						
							|  |  |  |     build_obj_func ${DEF_IMAGE_TYPE} ${DEF_CUS_APP} CUS | 
					
						
							| 
									
										
										
										
											2024-10-14 08:10:17 +08:00
										 |  |  |     # 这里生成ld文件是为了plc程序可以调用 | 
					
						
							| 
									
										
										
										
											2024-09-28 16:01:14 +08:00
										 |  |  |     echo "build_flash_kl3.sh call make_ld.sh." | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |     ../tools/rom_img/make_ld.sh --addrs ../ap/.output/cus/lib/ht_${DEF_IMAGE_TYPE}.out \
 | 
					
						
							|  |  |  |     ../startup/ldscripts/riscv3/amp_cus_symbol > ../startup/ldscripts/riscv3/cus.addrs.ld | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | build_obj_func ${DEF_IMAGE_TYPE} ${DEF_PLC_APP} PLC | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-24 17:47:03 +08:00
										 |  |  | # 删除 cfg_log.txt | 
					
						
							|  |  |  | cd ../tools/gen_img | 
					
						
							|  |  |  | rm -f ./cfg_log.txt | 
					
						
							|  |  |  | cd - | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  | gen_img_starttime=$(date +%s) | 
					
						
							|  |  |  | for STR in ${GROUP_BOARDS_DEF[@]}; do | 
					
						
							|  |  |  |     if [ "${DEF_FLASH}" == "2m" ]; then | 
					
						
							|  |  |  |         if [[ "${STR}" == *"3201"* ]]; then | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         elif [[ "${STR}" == *"3211"* ]]; then | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     elif [ "${DEF_FLASH}" == "4m" ]; then | 
					
						
							|  |  |  |         if [ "${DEF_PSRAM}" != "0m" ]; then | 
					
						
							|  |  |  |             if [[ "${STR}" == *"3211"* ]]; then | 
					
						
							|  |  |  |                 continue | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         if [[ "${STR}" == *"3031"* ]]; then | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ "${DEF_CORE_TYPE}" == "ampplc" ]; then | 
					
						
							|  |  |  |         amp_valid_board=0 | 
					
						
							|  |  |  |         if [[ "${STR}" == *"3201"* ]]; then | 
					
						
							|  |  |  |             amp_valid_board=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         if [[ "${STR}" == *"3211"* ]]; then | 
					
						
							|  |  |  |             amp_valid_board=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         if [[ "${STR}" == *"3031"* ]]; then | 
					
						
							|  |  |  |             amp_valid_board=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         if [ "${STR}" == "goldfinger_17p03" ] || [ "${STR}" == "stamp03" ] || [ "${STR}" == "ledc03" ]; then | 
					
						
							|  |  |  |             amp_valid_board=1 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         if [ ${amp_valid_board} -eq 0 ]; then | 
					
						
							|  |  |  |             continue | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-10-23 15:39:40 +08:00
										 |  |  |     # GROUP_RUN_TYPE 是一个列表 flash psram upgrade | 
					
						
							|  |  |  |     # 依次调用 gen_img.sh 来生成相应固件 | 
					
						
							|  |  |  |     # flash 或 psram 在之前已经根据是否存在 psram 被移除 | 
					
						
							| 
									
										
										
										
											2024-09-28 14:24:04 +08:00
										 |  |  |     if [ "${DEF_IMAGE_TYPE}" == "ftm" ]; then | 
					
						
							|  |  |  |         cd ../tools/gen_img | 
					
						
							|  |  |  |         for RUN_TYPE in ${GROUP_RUN_TYPE[@]}; do | 
					
						
							|  |  |  |             echo "./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMAGE_TYPE} -r ${RUN_TYPE} -v ${DEF_REL} -m lzma -s ${DEF_FLASH} -b 3 -p ${PSRAM_SIZE_nM} -t ${DEF_CORE_TYPE}" | 
					
						
							|  |  |  |             ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMAGE_TYPE} -r ${RUN_TYPE} -v ${DEF_REL} -m lzma -s ${DEF_FLASH} -b 3 -p ${PSRAM_SIZE_nM} -t ${DEF_CORE_TYPE} | 
					
						
							|  |  |  |         done | 
					
						
							|  |  |  |         cd - | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         cd ../tools/gen_img | 
					
						
							|  |  |  |         for RUN_TYPE in ${GROUP_RUN_TYPE[@]}; do | 
					
						
							|  |  |  |             echo "./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMAGE_TYPE} -r ${RUN_TYPE} -a ${CUST_APP} -v ${DEF_REL} -m lzma -s ${DEF_FLASH} -b 3 -p ${PSRAM_SIZE_nM} -t ${DEF_CORE_TYPE} ${GEN_FASTBOOT_STR}" | 
					
						
							|  |  |  |             ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMAGE_TYPE} -r ${RUN_TYPE} -a ${CUST_APP} -v ${DEF_REL} -m lzma -s ${DEF_FLASH} -b 3 -p ${PSRAM_SIZE_nM} -t ${DEF_CORE_TYPE} ${GEN_FASTBOOT_STR} | 
					
						
							|  |  |  |         done | 
					
						
							|  |  |  |         cd - | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | gen_img_endtime=$(date +%s) | 
					
						
							|  |  |  | gen_img_time_interval=$((${gen_img_endtime} - ${gen_img_starttime})) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "${DEF_CORE_TYPE}" == "ampplc" ]; then | 
					
						
							|  |  |  |     echo "cus make elapsed time:${cus_make_time_interval}s" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "plc make elapsed time:${plc_make_time_interval}s" | 
					
						
							|  |  |  | echo "gen img elapsed time:${gen_img_time_interval}s" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ -f ../tools/gen_img/tmp_plc.lds ]; then | 
					
						
							|  |  |  |     rm ../tools/gen_img/tmp_plc.lds | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ -f ../tools/gen_img/tmp_cus.lds ]; then | 
					
						
							|  |  |  |     rm ../tools/gen_img/tmp_cus.lds | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 |