135 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			135 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | 
 | ||
|  | DEF_CHIP_ID="" | ||
|  | DEF_APP_NAME="" | ||
|  | DEF_APP_ID=19 | ||
|  | DEF_IMG_TYPE="cco" | ||
|  | DEF_CUSTOMER="" | ||
|  | DEF_CUST_APP="iot_sniffer" | ||
|  | DEF_RUN_IN="flash" | ||
|  | DEF_DBG_REF="release" | ||
|  | DEF_PHASE_OPTION="PLC_SUPPORT_3_PHASE=0" | ||
|  | 
 | ||
|  | # flash size always be 2m | ||
|  | DEF_FLASH_SIZE="2m" | ||
|  | DEF_FLASH_SIZE_nM=2 | ||
|  | # psram size always be 0m | ||
|  | DEF_PSRAM_SIZE="0m" | ||
|  | DEF_PSRAM_SIZE_nM=0 | ||
|  | 
 | ||
|  | GROUP_CHIP_ID=("HZ" "WQ") | ||
|  | GROUP_APP_STR=("ge" "at" "sila" "bypass") | ||
|  | GROUP_CUSTOMER=("htzd" "wqrd" "gldq" "ledc" "stamp_22p") | ||
|  | 
 | ||
|  | INPUT_CHIP=$(echo $1 | tr '[a-z]' '[A-Z]') | ||
|  | INPUT_APP=$(echo $2 | tr '[A-Z]' '[a-z]') | ||
|  | INPUT_CUSTOM=$(echo $3 | tr '[A-Z]' '[a-z]') | ||
|  | 
 | ||
|  | SRC_ENV_FILE="env_flash_cco.sh" | ||
|  | CHIP_ID_ENV="export HW_CHIP_ID=" | ||
|  | PSRAM_SIZE_ENV="export psram_size=" | ||
|  | FLASH_SIZE_ENV="export flash_size=" | ||
|  | 
 | ||
|  | usage() { | ||
|  |     echo  "$0 [CHIP_ID] [APP_NAME] [CUSTOMER] [NOT_CLEAN]" | ||
|  |     echo  "*       [CHIP_ID] -- Necessary, HZ/WQ." | ||
|  |     echo  "*       [APP_NAME] -- Necessary, ge/at/sila/bypass." | ||
|  |     echo  "*       [CUSTOMER] -- Optional, htzd/wqrd/gldq/ledc, default compile all customer." | ||
|  |     exit 1 | ||
|  | } | ||
|  | 
 | ||
|  | for STR in ${GROUP_CHIP_ID[@]}; do | ||
|  |     if [ "${INPUT_CHIP}" == "$STR" ]; then | ||
|  |         DEF_CHIP_ID="${INPUT_CHIP}" | ||
|  |         break | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | for STR in ${GROUP_APP_STR[@]}; do | ||
|  |     if [ "$INPUT_APP" == "$STR" ]; then | ||
|  |         DEF_APP_NAME=$STR | ||
|  |         break | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | if [ "$DEF_CHIP_ID" == "" ] || [ "${DEF_APP_NAME}" == "" ]; then | ||
|  |     usage | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "${DEF_APP_NAME}" == "ge" ]; then | ||
|  |     custom_app_id=0 | ||
|  |     no_sg_network_connection=0 | ||
|  | elif [ "${DEF_APP_NAME}" == "at" ]; then | ||
|  |     custom_app_id=1 | ||
|  |     no_sg_network_connection=1 | ||
|  | elif [ "${DEF_APP_NAME}" == "sila" ]; then | ||
|  |     custom_app_id=2 | ||
|  |     no_sg_network_connection=1 | ||
|  | elif [ "${DEF_APP_NAME}" == "bypass" ]; then | ||
|  |     custom_app_id=3 | ||
|  |     no_sg_network_connection=1 | ||
|  | else | ||
|  |     custom_app_id=0 | ||
|  |     no_sg_network_connection=0 | ||
|  | fi | ||
|  | 
 | ||
|  | sed -i "s/[ ]*#define[ ]*IOT_SNIFFER_PROTO_DEFALT.*$/#define IOT_SNIFFER_PROTO_DEFALT  $custom_app_id/g" ../app/iot_sniffer/inc/iot_sniffer_task.h | ||
|  | sed -i "s/[ ]*#define[ ]*PHY_PRIVATE_OFFSET_PHASE.*$/#define PHY_PRIVATE_OFFSET_PHASE  $no_sg_network_connection/g" ../inc/config/plc_config.h | ||
|  | 
 | ||
|  | if [ "$INPUT_CUSTOM" != "" ]; then | ||
|  |     for STR in ${GROUP_CUSTOMER[@]}; do | ||
|  |         if [ "$INPUT_CUSTOM" == "$STR" ]; then | ||
|  |             DEF_CUSTOMER=$STR | ||
|  |         fi | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "${DEF_CUSTOMER}" != "" ]; then | ||
|  |     GROUP_CUSTOMER[0]=${DEF_CUSTOMER} | ||
|  |     GROUP_CUSTOMER[1]="NULL" | ||
|  | fi | ||
|  | 
 | ||
|  | rm -f ../Makefile 2>/dev/null | ||
|  | ln -s ./build/Makefile ../Makefile | ||
|  | 
 | ||
|  | set -o errexit | ||
|  | 
 | ||
|  | cp ${SRC_ENV_FILE} env_tmp.sh | ||
|  | sed -i '/psram_enable/d' env_tmp.sh | ||
|  | 
 | ||
|  | #environment variable definition. | ||
|  | export smart_cco_sta=1 | ||
|  | export psram_enable=0 | ||
|  | export layout_index=1   #alway 2m flash without psram | ||
|  | 
 | ||
|  | ENV_STRING=${PSRAM_SIZE_ENV}${DEF_PSRAM_SIZE_nM} | ||
|  | echo $ENV_STRING >> env_tmp.sh | ||
|  | ENV_STRING=${FLASH_SIZE_ENV}${DEF_FLASH_SIZE_nM} | ||
|  | echo $ENV_STRING >> env_tmp.sh | ||
|  | ENV_STRING=${CHIP_ID_ENV}${DEF_CHIP_ID} | ||
|  | echo $ENV_STRING >> env_tmp.sh | ||
|  | cat env_tmp.sh | ||
|  | . env_tmp.sh | ||
|  | if [ "${DEF_CUSTOMER}" == "htzd" ] || [ "${DEF_CUSTOMER}" == "" ]; then | ||
|  |     make APP=${DEF_APP_ID} -C .. clobber && make PLATFORM=CHIP APP=${DEF_APP_ID} FLASH_SIZE=${DEF_FLASH_SIZE_nM} -C .. | ||
|  |     cp ../ap/.output/lib/ht_cco.bin ../tools/gen_img/iot_ht_3p.bin | ||
|  |     cp ../ap/.output/lib/ht_cco.out ../tools/gen_img/ht_3p.out | ||
|  | fi | ||
|  | 
 | ||
|  | make APP=${DEF_APP_ID} -C .. clobber && make PLATFORM=CHIP APP=${DEF_APP_ID} FLASH_SIZE=${DEF_FLASH_SIZE_nM} ${DEF_PHASE_OPTION} -C .. | ||
|  | cp ../ap/.output/lib/ht_cco.bin ../tools/gen_img/iot_ht_1p.bin | ||
|  | cp ../ap/.output/lib/ht_cco.out ../tools/gen_img/ht.out | ||
|  | rm env_tmp.sh | ||
|  | 
 | ||
|  | for STR in ${GROUP_CUSTOMER[@]}; do | ||
|  |     if [ "${STR}" == "NULL" ]; then | ||
|  |         break | ||
|  |     fi | ||
|  | 
 | ||
|  |     cd ../tools/gen_img | ||
|  |     ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r ${DEF_RUN_IN} -m lzma -s ${DEF_FLASH_SIZE} -a ${DEF_CUST_APP} -v ${DEF_DBG_REF} -p ${DEF_PSRAM_SIZE_nM} | ||
|  |     cd - | ||
|  | done | ||
|  | 
 | ||
|  | mkdir -p ../bin && cp -rf ../tools/gen_img/customer ../bin |