277 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			277 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INPUT_CHIP=$1
							 | 
						||
| 
								 | 
							
								INPUT_FLASH_SIZE=$2
							 | 
						||
| 
								 | 
							
								INPUT_PSRAM_SIZE=$3
							 | 
						||
| 
								 | 
							
								INPUT_CUSTOM=$4
							 | 
						||
| 
								 | 
							
								INPUT_APPID=$5
							 | 
						||
| 
								 | 
							
								CHIP_STRING=("HZ" "WQ")
							 | 
						||
| 
								 | 
							
								FLASH_SIZE_STRING=("2m" "4m")
							 | 
						||
| 
								 | 
							
								PSRAM_SIZE_STRING=("2m" "4m" "8m")
							 | 
						||
| 
								 | 
							
								CUSTOM_STRING=("htzd" "jsmt" "wqrd" "gldq")
							 | 
						||
| 
								 | 
							
								IMG_TYPE=("ckb")
							 | 
						||
| 
								 | 
							
								RUN_TYPE_STRING=("flash" "psram" "upgrade")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								HTZD_ENV_ID=0
							 | 
						||
| 
								 | 
							
								JSMT_ENV_ID=0
							 | 
						||
| 
								 | 
							
								WQRD_ENV_ID=0
							 | 
						||
| 
								 | 
							
								GLDQ_ENV_ID=0
							 | 
						||
| 
								 | 
							
								CHIP_ID_ENV="export HW_CHIP_ID="
							 | 
						||
| 
								 | 
							
								VER_ID_ENV="export hw_board_id="
							 | 
						||
| 
								 | 
							
								SRC_ENV_FILE="env_flash_ckb.sh"
							 | 
						||
| 
								 | 
							
								SRC_ENV_PSRAM_FILE="env_psram_ckb.sh"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								PSRAM_SIZE_ENV="export psram_size="
							 | 
						||
| 
								 | 
							
								FLASH_SIZE_ENV="export flash_size="
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# BUILD_FLAGS:
							 | 
						||
| 
								 | 
							
								#   0 --> error
							 | 
						||
| 
								 | 
							
								#   1 --> set default chip_id=wq, and pack all customers bin
							 | 
						||
| 
								 | 
							
								#   2 --> set chip=arg1, and pack all customers bin
							 | 
						||
| 
								 | 
							
								#   3 --> set chip=arg1, custom=arg2, and pack one customer bin
							 | 
						||
| 
								 | 
							
								#   4 --> set chip=arg1, flash_size=arg2, and pack all customers bin
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BUILD_FLAGS=0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								usage(){
							 | 
						||
| 
								 | 
							
								    echo "[Usage]"
							 | 
						||
| 
								 | 
							
								    echo "$0 [chip name] [flash size] [psram size] [custom name] [app id] [psram]"
							 | 
						||
| 
								 | 
							
								    echo "[chip name] HZ/WQ"
							 | 
						||
| 
								 | 
							
								    echo "[flash size] 2m/4m"
							 | 
						||
| 
								 | 
							
								    echo "[psram size] 2m/4m/8m"
							 | 
						||
| 
								 | 
							
								    echo "[custom name] htzd/jsmt/wqrd/gldq/hzbj"
							 | 
						||
| 
								 | 
							
								    echo "[app id]  0:sg/15:sniffer."
							 | 
						||
| 
								 | 
							
								    echo "[psram] 'psram':with psram, null:without psram"
							 | 
						||
| 
								 | 
							
								    exit 1
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_APPID" == 15 ]; then
							 | 
						||
| 
								 | 
							
								    APP_SEL=15
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    APP_SEL=0
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_CHIP" == "" ]; then
							 | 
						||
| 
								 | 
							
								    BUILD_FLAGS=1
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    for STR in ${CHIP_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$INPUT_CHIP" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=2
							 | 
						||
| 
								 | 
							
								            CHIP=$STR
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								    if [ "$CHIP" == "" ];then
							 | 
						||
| 
								 | 
							
								        usage
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_FLASH_SIZE" == "" ];then
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE=${FLASH_SIZE_STRING[0]}
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    for STR in ${FLASH_SIZE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=4
							 | 
						||
| 
								 | 
							
								            FLASH_SIZE=$STR
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$FLASH_SIZE" == "4m" ]; then
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE_nM=4
							 | 
						||
| 
								 | 
							
								elif [ "$FLASH_SIZE" == "2m" ]; then
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE_nM=2
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE_nM=1
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_PSRAM_SIZE" == "" ];then
							 | 
						||
| 
								 | 
							
								    PSRAM_SIZE=${PSRAM_SIZE_STRING[0]}
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    for STR in ${PSRAM_SIZE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$INPUT_PSRAM_SIZE" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            PSRAM_SIZE=$STR
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$PSRAM_SIZE" == "8m" ]; then
							 | 
						||
| 
								 | 
							
								    PSRAM_SIZE_nM=8
							 | 
						||
| 
								 | 
							
								elif [ "$PSRAM_SIZE" == "4m" ]; then
							 | 
						||
| 
								 | 
							
								    PSRAM_SIZE_nM=4
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    PSRAM_SIZE_nM=2
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_CUSTOM" != "" ]; then
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$INPUT_CUSTOM" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=3
							 | 
						||
| 
								 | 
							
								            CUSTOM=$STR
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for input_char in $@; do
							 | 
						||
| 
								 | 
							
								    if [ "$input_char" == "psram" ]; then
							 | 
						||
| 
								 | 
							
								        RUN_TYPE="psram"
							 | 
						||
| 
								 | 
							
								        unset RUN_TYPE_STRING[0]
							 | 
						||
| 
								 | 
							
								        cp $SRC_ENV_PSRAM_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								        ENV_STRING=${PSRAM_SIZE_ENV}${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								        echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$RUN_TYPE" != "psram" ]; then
							 | 
						||
| 
								 | 
							
								    RUN_TYPE="flash"
							 | 
						||
| 
								 | 
							
								    PSRAM_SIZE_nM=0
							 | 
						||
| 
								 | 
							
								    unset RUN_TYPE_STRING[1]
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ $PSRAM_SIZE_nM -eq 0 ]; then
							 | 
						||
| 
								 | 
							
								    if [ $FLASH_SIZE_nM -eq 1 ]; then
							 | 
						||
| 
								 | 
							
								        export layout_index=0
							 | 
						||
| 
								 | 
							
								    elif [ $FLASH_SIZE_nM -eq 2 ]; then
							 | 
						||
| 
								 | 
							
								        export layout_index=1
							 | 
						||
| 
								 | 
							
								    elif [ $FLASH_SIZE_nM -eq 4 ]; then
							 | 
						||
| 
								 | 
							
								        export layout_index=3
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ENV_STRING=${FLASH_SIZE_ENV}${FLASH_SIZE_nM}
							 | 
						||
| 
								 | 
							
								echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rm ../Makefile 2>/dev/null
							 | 
						||
| 
								 | 
							
								ln -s ./build/Makefile ../Makefile
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -o errexit
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ $BUILD_FLAGS == 0 ]; then
							 | 
						||
| 
								 | 
							
								    usage
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 1 ]; then
							 | 
						||
| 
								 | 
							
								    # set default chip_id=wq, and pack all customers bin
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    CHIP=${CHIP_STRING[0]}
							 | 
						||
| 
								 | 
							
								    ENV_STRING=${CHIP_ID_ENV}${CHIP}
							 | 
						||
| 
								 | 
							
								    echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cat env_tmp.sh
							 | 
						||
| 
								 | 
							
								    . env_tmp.sh && make APP=$APP_SEL -C .. clobber && make PLATFORM=CHIP APP=$APP_SEL -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								        for IMG in ${IMG_TYPE[@]}; do
							 | 
						||
| 
								 | 
							
								            for RUN_TYPE in ${RUN_TYPE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								                # 1M flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                if [ "${STR}" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                    # 2M flash image
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -m lzma -s 2m -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                    # 4M flash image
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -m lzma -s 4m -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                fi
							 | 
						||
| 
								 | 
							
								            done
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								        cd -
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 2 ]; then
							 | 
						||
| 
								 | 
							
								    # set chip=arg1, and pack all customers bin
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    ENV_STRING=${CHIP_ID_ENV}${CHIP}
							 | 
						||
| 
								 | 
							
								    echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cat env_tmp.sh
							 | 
						||
| 
								 | 
							
								    . env_tmp.sh && make APP=$APP_SEL -C .. clobber && make PLATFORM=CHIP APP=$APP_SEL -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								        for IMG in ${IMG_TYPE[@]}; do
							 | 
						||
| 
								 | 
							
								            for RUN_TYPE in ${RUN_TYPE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								                # 1M flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE}
							 | 
						||
| 
								 | 
							
								                if [ "${STR}" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                    # 2M flash image
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -m lzma -s 2m -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                    # 4M flash image
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -m lzma -s 4m -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                fi
							 | 
						||
| 
								 | 
							
								            done
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								        cd -
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 3 ]; then
							 | 
						||
| 
								 | 
							
								    # set chip=arg1, custom=arg2, and pack one customers bin
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if [ "$CUSTOM" == "htzd" ]; then
							 | 
						||
| 
								 | 
							
								        ENV_STRING=${VER_ID_ENV}${HTZD_ENV_ID}
							 | 
						||
| 
								 | 
							
								    elif [ "$CUSTOM" == "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								        ENV_STRING=${VER_ID_ENV}${JSMT_ENV_ID}
							 | 
						||
| 
								 | 
							
								    elif [ "$CUSTOM" == "wqrd" ]; then
							 | 
						||
| 
								 | 
							
								        ENV_STRING=${VER_ID_ENV}${WQRD_ENV_ID}
							 | 
						||
| 
								 | 
							
								    elif [ "$CUSTOM" == "gldq" ]; then
							 | 
						||
| 
								 | 
							
								        ENV_STRING=${VER_ID_ENV}${GLDQ_ENV_ID}
							 | 
						||
| 
								 | 
							
								    else
							 | 
						||
| 
								 | 
							
								        echo "build script parameters error"
							 | 
						||
| 
								 | 
							
								        echo "[Usage]"
							 | 
						||
| 
								 | 
							
								        echo "$0 [custom name]"
							 | 
						||
| 
								 | 
							
								        exit 1
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    ENV_STRING=${CHIP_ID_ENV}${CHIP}
							 | 
						||
| 
								 | 
							
								    echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cat env_tmp.sh
							 | 
						||
| 
								 | 
							
								    . env_tmp.sh && make APP=$APP_SEL -C .. clobber && make PLATFORM=CHIP APP=$APP_SEL FLASH_SIZE=$FLASH_SIZE_nM -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								    for IMG in ${IMG_TYPE[@]}; do
							 | 
						||
| 
								 | 
							
								        for RUN_TYPE in ${RUN_TYPE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								            if [ "$FLASH_SIZE" == "1m" ]; then
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG} -r ${RUN_TYPE} -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								                if [ "$STR" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG} -r ${RUN_TYPE} -m lzma -s ${FLASH_SIZE} -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                fi
							 | 
						||
| 
								 | 
							
								            fi
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								    cd -
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 4 ]; then
							 | 
						||
| 
								 | 
							
								    #build 2m flash image
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    ENV_STRING=${CHIP_ID_ENV}${CHIP}
							 | 
						||
| 
								 | 
							
								    echo $ENV_STRING >> env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cat env_tmp.sh
							 | 
						||
| 
								 | 
							
								    . env_tmp.sh && make APP=$APP_SEL -C .. clobber && make PLATFORM=CHIP APP=$APP_SEL FLASH_SIZE=$FLASH_SIZE_nM -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								        for IMG in ${IMG_TYPE[@]}; do
							 | 
						||
| 
								 | 
							
								            for RUN_TYPE in ${RUN_TYPE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								                # 1M flash image
							 | 
						||
| 
								 | 
							
								                if [ "$FLASH_SIZE" == "1m" ]; then
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                else
							 | 
						||
| 
								 | 
							
								                    if [ "$STR" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                        ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r ${RUN_TYPE} -m lzma -s ${FLASH_SIZE} -p ${PSRAM_SIZE_nM}
							 | 
						||
| 
								 | 
							
								                    fi
							 | 
						||
| 
								 | 
							
								                fi
							 | 
						||
| 
								 | 
							
								            done
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								        cd -
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								mkdir -p ../../bin && cp -rf customer ../../bin
							 |