328 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			328 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | 
 | ||
|  | CHIP="" | ||
|  | FLASH_SIZE="" | ||
|  | PSRAM_SIZE="4m" | ||
|  | CUSTOM="" | ||
|  | RUN_TYPE="psram" | ||
|  | APP_SEL="" | ||
|  | 
 | ||
|  | INPUT_CHIP=$1 | ||
|  | INPUT_FLASH_SIZE=$2 | ||
|  | INPUT_PSRAM_SIZE=$3 | ||
|  | INPUT_CUSTOM=$4 | ||
|  | INPUT_TYPE=$5 | ||
|  | APP_INPUT=$6 | ||
|  | CHIP_STRING=("HZ" "WQ") | ||
|  | FLASH_SIZE_STRING=("1m" "2m" "4m" "combo") | ||
|  | CUSTOM_STRING=("htzd" "jsmt" "flx" "wqrd" "gldq" "brmt") | ||
|  | PSRAM_SIZE_STRING=("4m" "8m") | ||
|  | RUN_TYPE_STRING=("psram" "upgrade") | ||
|  | APP_ID_STRING=(0 5 6) | ||
|  | IMG_TYPE="cco" | ||
|  | 
 | ||
|  | HTZD_ENV_ID=0 | ||
|  | JSMT_ENV_ID=0 | ||
|  | FLX_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_cco.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 --> genarate specified version | ||
|  | #   5 --> set chip=arg1, flash_size=arg2, and pack all customers bin | ||
|  | 
 | ||
|  | err_out(){ | ||
|  |     # param error | ||
|  |     echo "build script parameters error" | ||
|  |     echo "[Usage]" | ||
|  |     echo "$0 [chip name] [flash size] [psram size] [custom name] [type name] [app select] [psram]" | ||
|  |     echo "[chip name] (${CHIP_STRING[@]})" | ||
|  |     echo "[flash size] (${FLASH_SIZE_STRING[@]})" | ||
|  |     echo "[psram size] (${PSRAM_SIZE_STRING[@]})" | ||
|  |     echo "[custom name] (${CUSTOM_STRING[@]})" | ||
|  |     echo "[type name] psram" | ||
|  |     echo "[app select] (${APP_ID_STRING[@]}), 0:sg-app(default), 5:sg-ext-app, 6:smart-meter-app" | ||
|  |     exit 1 | ||
|  | } | ||
|  | 
 | ||
|  | 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 | ||
|  |         err_out | ||
|  |     fi | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$INPUT_FLASH_SIZE" != "" ]; then | ||
|  |     for STR in ${FLASH_SIZE_STRING[@]}; do | ||
|  |         if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then | ||
|  |             BUILD_FLAGS=5 | ||
|  |             FLASH_SIZE=$STR | ||
|  |         fi | ||
|  |     done | ||
|  |     if [ "$FLASH_SIZE" == "" ];then | ||
|  |         err_out | ||
|  |     fi | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$INPUT_PSRAM_SIZE" != "" ];then | ||
|  |     for STR in ${PSRAM_SIZE_STRING[@]}; do | ||
|  |         if [ "$INPUT_PSRAM_SIZE" == "$STR" ]; then | ||
|  |             PSRAM_SIZE_STRING[0]=$STR | ||
|  |             PSRAM_SIZE_STRING[1]="" | ||
|  |             PSRAM_SIZE=$STR | ||
|  |             break | ||
|  |         fi | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$INPUT_CUSTOM" != "" ]; then | ||
|  |     for STR in ${CUSTOM_STRING[@]}; do | ||
|  |         if [ "$INPUT_CUSTOM" == "$STR" ]; then | ||
|  |             BUILD_FLAGS=3 | ||
|  |             CUSTOM=$STR | ||
|  |         fi | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$INPUT_TYPE" != "" ]; then | ||
|  |     for STR in ${RUN_TYPE_STRING[@]}; do | ||
|  |         if [ "$INPUT_TYPE" == "$STR" ]; then | ||
|  |             RUN_TYPE=$STR | ||
|  |         fi | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$APP_INPUT" != "" ]; then | ||
|  |     for STR in ${APP_ID_STRING[@]}; do | ||
|  |         if [ "$APP_INPUT" == "$STR" ]; then | ||
|  |             BUILD_FLAGS=4 | ||
|  |             APP_SEL=$STR | ||
|  |         fi | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | #check input parameters. | ||
|  | if [ "5" == "$BUILD_FLAGS" ]; then | ||
|  |     if [ "$INPUT_CUSTOM" == "" ] && [ "$INPUT_TYPE" == "" ] && [ "$APP_INPUT" == "" ]; then | ||
|  |         APP_SEL=0 | ||
|  |     else | ||
|  |         err_out | ||
|  |     fi | ||
|  | elif [ "2" == "$BUILD_FLAGS" ]; then | ||
|  |     if [ "$CHIP" == "" ]; then | ||
|  |         err_out | ||
|  |     fi | ||
|  | elif [ "3" == "$BUILD_FLAGS" ]; then | ||
|  |     if [ "$CHIP" == "" ] || [ "$FLASH_SIZE" == "" ] || [ "$PSRAM_SIZE" == "" ] || [ "$CUSTOM" == "" ]; then | ||
|  |         err_out | ||
|  |     fi | ||
|  | elif [ "4" == "$BUILD_FLAGS" ]; then | ||
|  |     if [ "$CHIP" == "" ] || [ "$FLASH_SIZE" == "" ] || [ "$PSRAM_SIZE" == "" ] || [ "$CUSTOM" == "" ] || [ "$RUN_TYPE" == "" ] || [ "$APP_SEL" == "" ]; then | ||
|  |         err_out | ||
|  |     fi | ||
|  |     if [ "$PSRAM_SIZE" == "0m" ] || [ "$PSRAM_SIZE" == "" ]; then | ||
|  |         err_out | ||
|  |     fi | ||
|  | else | ||
|  |     err_out | ||
|  | fi | ||
|  | 
 | ||
|  | FLASH_SIZE_nM=${FLASH_SIZE/m/} | ||
|  | PSRAM_SIZE_nM=${PSRAM_SIZE/m/} | ||
|  | 
 | ||
|  | cp $SRC_ENV_FILE env_tmp.sh | ||
|  | ENV_STRING=${PSRAM_SIZE_ENV}${PSRAM_SIZE_nM} | ||
|  | echo $ENV_STRING >> env_tmp.sh | ||
|  | 
 | ||
|  | # 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 | ||
|  | 
 | ||
|  | if [ "x${APP_SEL}" == "x0" ]; then | ||
|  |     APP_NAME="sg" | ||
|  | elif [ "x${APP_SEL}" == "x5" ]; then | ||
|  |     APP_NAME="sg_ext" | ||
|  | elif [ "x${APP_SEL}" == "x6" ]; then | ||
|  |     APP_NAME="sg_meter" | ||
|  | fi | ||
|  | 
 | ||
|  | # clear bin file | ||
|  | [ "$CLR_BIN_FILE" == "1" ] && echo "clr bin file.." && cd ../tools/gen_img && rm -rf customer && cd - | ||
|  | rm -f ../Makefile | ||
|  | ln -s ./build/Makefile ../Makefile | ||
|  | 
 | ||
|  | set -o errexit | ||
|  | 
 | ||
|  | if [ $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 | ||
|  |             # 1M flash image | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             if [ "$STR" != "jsmt" ] && [ "$STR" != "flx" ]; then | ||
|  |                 # 2M flash image | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 # COMBO flash image | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s combo | ||
|  |             fi | ||
|  |         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 | ||
|  |             # 1M flash image | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             if [ "$STR" != "jsmt" ] && [ "$STR" != "flx" ]; then | ||
|  |                 # 2M flash image | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 # 4M flash image | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 4m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 4m -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |                 # COMBO flash image | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s combo | ||
|  |             fi | ||
|  |         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" == "flx" ]; then | ||
|  |         ENV_STRING=${VER_ID_ENV}${FLX_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=${FLASH_SIZE_ENV}${FLASH_SIZE_nM} | ||
|  |     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 FLASH_SIZE=$FLASH_SIZE_nM APP=$APP_SEL -C .. | ||
|  |     rm env_tmp.sh | ||
|  | 
 | ||
|  |     cd ../tools/gen_img | ||
|  |     if [ "$FLASH_SIZE" == "1m" ]; then | ||
|  |         ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |         ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |     else | ||
|  |         if [ "$CUSTOM" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |         fi | ||
|  |     fi | ||
|  |     cd - | ||
|  | elif [ $BUILD_FLAGS == 4 ]; then | ||
|  |     #build specified image | ||
|  |     echo "BUILD FLAGS: "${BUILD_FLAGS} | ||
|  |     ENV_STRING=${FLASH_SIZE_ENV}${FLASH_SIZE_nM} | ||
|  |     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 FLASH_SIZE=$FLASH_SIZE_nM APP=$APP_SEL -C .. | ||
|  |     rm env_tmp.sh | ||
|  | 
 | ||
|  |     cd ../tools/gen_img | ||
|  |     if [ "$FLASH_SIZE" == "1m" ]; then | ||
|  |         ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |         ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |     else | ||
|  |         if [ "$CUSTOM" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |             ./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM} | ||
|  |         fi | ||
|  |     fi | ||
|  |     cd - | ||
|  | elif [ $BUILD_FLAGS == 5 ]; then | ||
|  |     #build 2m flash image | ||
|  |     echo "BUILD FLAGS: "${BUILD_FLAGS} | ||
|  |     rm env_tmp.sh | ||
|  |     for iterm_psram in ${PSRAM_SIZE_STRING[@]}; do | ||
|  |         cur_psram_nM=${iterm_psram/m/} | ||
|  |         cp $SRC_ENV_FILE env_tmp.sh | ||
|  |         ENV_STRING=${PSRAM_SIZE_ENV}${cur_psram_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}${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 | ||
|  |             if [ "$FLASH_SIZE" == "1m" ]; then | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${cur_psram_nM} | ||
|  |                 ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${cur_psram_nM} | ||
|  |             else | ||
|  |                 if [ "$STR" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then | ||
|  |                     ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM} | ||
|  |                     if [ "$FLASH_SIZE" == "2m" ]; then | ||
|  |                         ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM} | ||
|  |                     elif [ "$FLASH_SIZE" == "4m" ]; then | ||
|  |                         ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM} | ||
|  |                     fi | ||
|  |                 fi | ||
|  |             fi | ||
|  |             cd - | ||
|  |         done | ||
|  |     done | ||
|  | fi | ||
|  | 
 | ||
|  | cd ../tools/gen_img | ||
|  | mkdir -p ../../bin && cp -rf customer ../../bin |