129 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			129 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | 
 | ||
|  | DEF_CHIP_ID="" | ||
|  | DEF_APP=15 | ||
|  | DEF_FLASH_SIZE="2m" | ||
|  | DEF_IMG_TYPE="cco" | ||
|  | DEF_NOT_CLEAN="0" | ||
|  | 
 | ||
|  | GROUP_CHIP_ID=("HZ" "WQ") | ||
|  | GROUP_CUSTOM=("htzd" "jsmt" "wqrd" "gldq" "ledc") | ||
|  | GROUP_FLASH_SIZE=("1m" "2m") | ||
|  | GROUP_PSRAM_SIZE=("4m" "8m") | ||
|  | 
 | ||
|  | INPUT_CHIP_ID=$(echo $1 | tr '[a-z]' '[A-Z]') | ||
|  | INPUT_FLASH_SIZE=$(echo $2 | tr '[A-Z]' '[a-z]') | ||
|  | INPUT_PSRAM_SIZE=$(echo $3 | tr '[A-Z]' '[a-z]') | ||
|  | 
 | ||
|  | CHIP_ID_ENV="export HW_CHIP_ID=" | ||
|  | SRC_ENV_FILE="env_flash_cco.sh" | ||
|  | PSRAM_SIZE_ENV="export psram_size=" | ||
|  | FLASH_SIZE_ENV="export flash_size=" | ||
|  | 
 | ||
|  | usage() { | ||
|  |     echo  "$0 [CHIP_ID] [FLASH_SIZE] [PSRAM_SIZE] [BUILD_TYPE] [NOT_CLEAN]" | ||
|  |     echo  "*       [CHIP_ID] -- Necessary, hz/wq." | ||
|  |     echo  "*       [FLASH_SIZE] -- Optional, 1m/2m/4m, default is 2m." | ||
|  |     echo  "*       [PSRAM_SIZE] -- Optional, 4m/8m, both 4m and 8m are all compiled by default." | ||
|  |     echo  "*       [NOT_CLEAN] -- Optional, input 'not_clean' means increment compile." | ||
|  |     exit 1 | ||
|  | } | ||
|  | 
 | ||
|  | if [ "?" == "$1" ] || [ "" == "$1" ] ; then | ||
|  |     usage | ||
|  | fi | ||
|  | 
 | ||
|  | #DEF_NOT_CLEAN | ||
|  | for k in $@; do | ||
|  |     if [ "$k" == "not_clean" ]; then | ||
|  |         DEF_NOT_CLEAN="1" | ||
|  |         break | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | #DEF_CHIP_ID | ||
|  | for STR in ${GROUP_CHIP_ID[@]}; do | ||
|  |     if [ "$INPUT_CHIP_ID" == "$STR" ]; then | ||
|  |         DEF_CHIP_ID=$STR | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | if [ "${DEF_CHIP_ID}" == "" ]; then | ||
|  |     usage | ||
|  | fi | ||
|  | 
 | ||
|  | #DEF_FLASH_SIZE | ||
|  | for STR in ${FLASH_SIZE_STRING[@]}; do | ||
|  |     if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then | ||
|  |         DEF_FLASH_SIZE=$STR | ||
|  |         break | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | #DEF_PSRAM_SIZE | ||
|  | for STR in ${GROUP_PSRAM_SIZE[@]}; do | ||
|  |     if [ "$INPUT_PSRAM_SIZE" == "$STR" ]; then | ||
|  |         GROUP_PSRAM_SIZE[0]=$STR | ||
|  |         GROUP_PSRAM_SIZE[1]="NULL" | ||
|  |         break | ||
|  |     fi | ||
|  | done | ||
|  | 
 | ||
|  | if [ "$DEF_FLASH_SIZE" == "4m" ]; then | ||
|  |     FLASH_SIZE_nM=4 | ||
|  | elif [ "$DEF_FLASH_SIZE" == "2m" ]; then | ||
|  |     FLASH_SIZE_nM=2 | ||
|  | else | ||
|  |     FLASH_SIZE_nM=1 | ||
|  | fi | ||
|  | 
 | ||
|  | # alway has psram | ||
|  | if [ $FLASH_SIZE_nM -eq 1 ]; then | ||
|  |     export layout_index=0 | ||
|  | elif [ $FLASH_SIZE_nM -eq 2 ]; then | ||
|  |     export layout_index=2 | ||
|  | elif [ $FLASH_SIZE_nM -eq 4 ]; then | ||
|  |     export layout_index=4 | ||
|  | fi | ||
|  | 
 | ||
|  | rm -f ../Makefile 2>/dev/null | ||
|  | ln -s ./build/Makefile ../Makefile | ||
|  | 
 | ||
|  | set -o errexit | ||
|  | 
 | ||
|  | for iterm_psram in ${GROUP_PSRAM_SIZE[@]}; do | ||
|  |     if [ "8m" == "$iterm_psram" ]; then | ||
|  |         psram_size_nM=8 | ||
|  |     elif [ "4m" == "$iterm_psram" ]; then | ||
|  |         psram_size_nM=4 | ||
|  |     else | ||
|  |         break | ||
|  |     fi | ||
|  |     cp $SRC_ENV_FILE env_tmp.sh | ||
|  |     ENV_STRING=${PSRAM_SIZE_ENV}${psram_size_nM} | ||
|  |     echo $ENV_STRING >> env_tmp.sh | ||
|  |     ENV_STRING=${FLASH_SIZE_ENV}${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 && [ "${DEF_NOT_CLEAN}" == "0" ] && make APP=$DEF_APP -C .. clobber | ||
|  |     make PLATFORM=CHIP FLASH_SIZE=$FLASH_SIZE_nM APP=$DEF_APP -C .. | ||
|  |     rm env_tmp.sh | ||
|  | 
 | ||
|  |     for STR in ${GROUP_CUSTOM[@]}; do | ||
|  |         cd ../tools/gen_img | ||
|  |         if [ "$DEF_FLASH_SIZE" == "1m" ]; then | ||
|  |             ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r flash -m lzma -p ${psram_size_nM} | ||
|  |         else | ||
|  |             if [ "$STR" != "jsmt" ] ; then | ||
|  |                 ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r flash -m lzma -s ${DEF_FLASH_SIZE} -p ${psram_size_nM} | ||
|  |             fi | ||
|  |         fi | ||
|  |         cd - | ||
|  |     done | ||
|  | done | ||
|  | 
 | ||
|  | mkdir -p ../bin && cp -rf ../tools/gen_img/customer ../bin |