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 |