#!/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