257 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			257 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rm ../Makefile 2>/dev/null
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CHIP=$1
							 | 
						||
| 
								 | 
							
								INPUT_FLASH_SIZE=$2
							 | 
						||
| 
								 | 
							
								CUSTOM=$3
							 | 
						||
| 
								 | 
							
								TYPE=$4
							 | 
						||
| 
								 | 
							
								APP_INPUT=$5
							 | 
						||
| 
								 | 
							
								CHIP_STRING=("HZ" "WQ")
							 | 
						||
| 
								 | 
							
								FLASH_SIZE_STRING=("1m" "2m" "combo")
							 | 
						||
| 
								 | 
							
								CUSTOM_STRING=("htzd" "jsmt" "wqrd" "gldq" "dmpl")
							 | 
						||
| 
								 | 
							
								IMG_TYPE=("sta")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								HTZD_ENV_ID=0
							 | 
						||
| 
								 | 
							
								JSMT_ENV_ID=0
							 | 
						||
| 
								 | 
							
								WQRD_ENV_ID=0
							 | 
						||
| 
								 | 
							
								GLDQ_ENV_ID=0
							 | 
						||
| 
								 | 
							
								DMPL_ENV_ID=0
							 | 
						||
| 
								 | 
							
								CHIP_ID_ENV="export HW_CHIP_ID="
							 | 
						||
| 
								 | 
							
								VER_ID_ENV="export hw_board_id="
							 | 
						||
| 
								 | 
							
								SRC_ENV_FILE="env_psram_sta.sh"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 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 customers bin
							 | 
						||
| 
								 | 
							
								#   4 --> genarate cert version
							 | 
						||
| 
								 | 
							
								BUILD_FLAGS=0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ $APP_INPUT == 5 ]; then
							 | 
						||
| 
								 | 
							
								    APP_SEL=5
							 | 
						||
| 
								 | 
							
								elif [ $APP_INPUT == 6 ]; then
							 | 
						||
| 
								 | 
							
								    APP_SEL=6
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    APP_SEL=0
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$CHIP" == "" ]; then
							 | 
						||
| 
								 | 
							
								    BUILD_FLAGS=1
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    for STR in ${CHIP_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$CHIP" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=2
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_FLASH_SIZE" != "" ]; then
							 | 
						||
| 
								 | 
							
								     for STR in ${FLASH_SIZE_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=5
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$INPUT_FLASH_SIZE" == "2m" ]; then
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE_nM=2
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    FLASH_SIZE_nM=1
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$CUSTOM" != "" ]; then
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$CUSTOM" == "$STR" ]; then
							 | 
						||
| 
								 | 
							
								            BUILD_FLAGS=3
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ "$TYPE" != "" ]; then
							 | 
						||
| 
								 | 
							
								    if [ "$TYPE" == "upgrade" ] || [ "$TYPE" == "psram" ]; then
							 | 
						||
| 
								 | 
							
								        BUILD_FLAGS=4
							 | 
						||
| 
								 | 
							
								    else
							 | 
						||
| 
								 | 
							
								        BUILD_FLAGS=0
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# alway with 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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# clear bin file
							 | 
						||
| 
								 | 
							
								#cd ../tools/gen_img && rm -rf customer
							 | 
						||
| 
								 | 
							
								rm ../Makefile
							 | 
						||
| 
								 | 
							
								ln -s ./build/Makefile ../Makefile
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -o errexit
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ $BUILD_FLAGS == 0 ]; then
							 | 
						||
| 
								 | 
							
								    # param error
							 | 
						||
| 
								 | 
							
								    echo "build script parameters error"
							 | 
						||
| 
								 | 
							
								    echo "[Usage]"
							 | 
						||
| 
								 | 
							
								    echo "$0 [chip name] [flash size] [custom name] [type name] [app select]"
							 | 
						||
| 
								 | 
							
								    echo "[chip name] HZ/WQ"
							 | 
						||
| 
								 | 
							
								    echo "[flash size] 1m/2m/combo"
							 | 
						||
| 
								 | 
							
								    echo "[custom name] htzd/jsmt/wqrd/gldq/hzbj"
							 | 
						||
| 
								 | 
							
								    echo "[type name] upgrade/flash"
							 | 
						||
| 
								 | 
							
								    echo "[app select] 0:sg-app(default), 5:sg-ext-app, 6:smart-meter-app"
							 | 
						||
| 
								 | 
							
								    exit 1
							 | 
						||
| 
								 | 
							
								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}
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								            # 1M flash image
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma
							 | 
						||
| 
								 | 
							
								            if [ "${STR}" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                # 2M flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma -s 2m
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s 2m
							 | 
						||
| 
								 | 
							
								                # COMBO flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma -s combo
							 | 
						||
| 
								 | 
							
								            fi
							 | 
						||
| 
								 | 
							
								        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}
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								            # 1M flash image
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma
							 | 
						||
| 
								 | 
							
								            if [ "${STR}" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                # 2M flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma -s 2m
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s 2m
							 | 
						||
| 
								 | 
							
								                # COMBO flash image
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r flash -m lzma -s combo
							 | 
						||
| 
								 | 
							
								            fi
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								        cd -
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 3 ]; then
							 | 
						||
| 
								 | 
							
								    # set chip=arg1, custom=arg2, and pack one customers bin
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        if [ "$STR" == "$CUSTOM" ]; then
							 | 
						||
| 
								 | 
							
								            if [ "$STR" == "htzd" ]; then
							 | 
						||
| 
								 | 
							
								                ENV_STRING=${VER_ID_ENV}${HTZD_ENV_ID}
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								            elif [ "$STR" == "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                ENV_STRING=${VER_ID_ENV}${JSMT_ENV_ID}
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								            elif [ "$STR" == "wqrd" ]; then
							 | 
						||
| 
								 | 
							
								                ENV_STRING=${VER_ID_ENV}${WQRD_ENV_ID}
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								            elif [ "$STR" == "gldq" ]; then
							 | 
						||
| 
								 | 
							
								                ENV_STRING=${VER_ID_ENV}${GLDQ_ENV_ID}
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								            elif [ "$STR" == "dmpl" ]; then
							 | 
						||
| 
								 | 
							
								                ENV_STRING=${VER_ID_ENV}${DMPL_ENV_ID}
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								                echo "build script parameters error"
							 | 
						||
| 
								 | 
							
								                echo "[Usage]"
							 | 
						||
| 
								 | 
							
								                echo "$0 [custom name]"
							 | 
						||
| 
								 | 
							
								                exit 1
							 | 
						||
| 
								 | 
							
								            fi
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								    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 -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								    cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if [ "$INPUT_FLASH_SIZE" == "1m" ]; then
							 | 
						||
| 
								 | 
							
								        ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r psram -m lzma
							 | 
						||
| 
								 | 
							
								        ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma
							 | 
						||
| 
								 | 
							
								    else
							 | 
						||
| 
								 | 
							
								        if [ "$STR" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r psram -m lzma -s ${INPUT_FLASH_SIZE}
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${INPUT_FLASH_SIZE}
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								    cd -
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 4 ]; then
							 | 
						||
| 
								 | 
							
								    #build upgrade image
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    ENV_STRING=${CHIP_ID_ENV}${CHIP}
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								    cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								    if [ "$INPUT_FLASH_SIZE" == "1m" ]; then
							 | 
						||
| 
								 | 
							
								        ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r ${TYPE} -m lzma
							 | 
						||
| 
								 | 
							
								    else
							 | 
						||
| 
								 | 
							
								        if [ "$STR" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								            ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r ${TYPE} -m lzma -s ${INPUT_FLASH_SIZE}
							 | 
						||
| 
								 | 
							
								        fi
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								    cd -
							 | 
						||
| 
								 | 
							
								elif [ $BUILD_FLAGS == 5 ]; then
							 | 
						||
| 
								 | 
							
								    #build 2m flash image
							 | 
						||
| 
								 | 
							
								    echo "BUILD FLAGS: "${BUILD_FLAGS}
							 | 
						||
| 
								 | 
							
								    cp $SRC_ENV_FILE env_tmp.sh
							 | 
						||
| 
								 | 
							
								    echo $FLASH_SIZE_ENV >> 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 FLASH_SIZE=$FLASH_SIZE_nM APP=$APP_SEL -C ..
							 | 
						||
| 
								 | 
							
								    rm env_tmp.sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    for STR in ${CUSTOM_STRING[@]}; do
							 | 
						||
| 
								 | 
							
								        cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								        for IMG in ${IMG_TYPE[@]}; do
							 | 
						||
| 
								 | 
							
								            # 2M flash image
							 | 
						||
| 
								 | 
							
								            if [ "$INPUT_FLASH_SIZE" == "1m" ]; then
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma
							 | 
						||
| 
								 | 
							
								                ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								                if [ "$STR" != "jsmt" ]; then
							 | 
						||
| 
								 | 
							
								                    ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r psram -m lzma -s ${INPUT_FLASH_SIZE}
							 | 
						||
| 
								 | 
							
								                    if [ "$INPUT_FLASH_SIZE" == "2m" ]; then
							 | 
						||
| 
								 | 
							
								                        ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s ${INPUT_FLASH_SIZE}
							 | 
						||
| 
								 | 
							
								                    fi
							 | 
						||
| 
								 | 
							
								                fi
							 | 
						||
| 
								 | 
							
								            fi
							 | 
						||
| 
								 | 
							
								        done
							 | 
						||
| 
								 | 
							
								        cd -
							 | 
						||
| 
								 | 
							
								    done
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd ../tools/gen_img
							 | 
						||
| 
								 | 
							
								mkdir -p ../../bin && cp -rf customer ../../bin
							 |