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
							 |