#!/bin/bash rm ../Makefile 2>/dev/null CHIP=$1 FLASH_SIZE=$2 CUSTOM=$3 TYPE=$4 CHIP_STRING=("NA") FLASH_SIZE_STRING=("4m") CUSTOM_STRING=("wqrd" "htzd") IMG_TYPE=("sta") APP_SEL=0 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_sta_kl2.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 PSRAM_SIZE=0 if [ "$CHIP" == "" ]; then BUILD_FLAGS=1 else for STR in ${CHIP_STRING[@]}; do if [ "$CHIP" == "$STR" ]; then BUILD_FLAGS=2 fi done fi if [ "$FLASH_SIZE" != "" ]; then for STR in ${FLASH_SIZE_STRING[@]}; do if [ "$FLASH_SIZE" == "$STR" ]; then BUILD_FLAGS=5 fi done 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" == "flash" ]; then BUILD_FLAGS=4 else BUILD_FLAGS=0 fi fi # alway 4m flash without psram export layout_index=3 # clear bin file #cd ../tools/gen_img && rm -rf customer cd - 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] [custom name] [type name] [flash size]" echo "[chip name] HZ/WQ" echo "[flash size] 1m/2m/combo" echo "[custom name] htzd/jsmt/wqrd/gldq/hzbj" echo "[type name] upgrade/flash" 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 && [ "$NOT_CLEAN" == "" ] && make APP=$APP_SEL -C .. clobber make PLATFORM=CHIP APP=$APP_SEL FLASH_SIZE=4 -C .. rm env_tmp.sh for STR in ${CUSTOM_STRING[@]}; do cd ../tools/gen_img for IMG in ${IMG_TYPE[@]}; do # 4M flash image ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r flash -m lzma -s 4m -b 2 -p ${PSRAM_SIZE} ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s 4m -b 2 -p ${PSRAM_SIZE} 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 && [ "$NOT_CLEAN" == "" ] && make APP=$APP_SEL -C .. clobber make APP=$APP_SEL FLASH_SIZE=4 -C .. rm env_tmp.sh for STR in ${CUSTOM_STRING[@]}; do cd ../tools/gen_img for IMG in ${IMG_TYPE[@]}; do if [ "${STR}" != "jsmt" ]; then # 4M flash image ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r flash -m lzma -s 4m -b 2 -p ${PSRAM_SIZE} ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s 4m -b 2 -p ${PSRAM_SIZE} 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 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 && [ "$NOT_CLEAN" == "" ] && make APP=$APP_SEL -C .. clobber make APP=$APP_SEL FLASH_SIZE=4 -C .. rm env_tmp.sh cd ../tools/gen_img if [ "$STR" != "jsmt" ]; then ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -b 2 -p ${PSRAM_SIZE} ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -b 2 -p ${PSRAM_SIZE} 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 && [ "$NOT_CLEAN" == "" ] && make APP=$APP_SEL -C .. clobber make APP=$APP_SEL FLASH_SIZE=4 -C .. rm env_tmp.sh cd ../tools/gen_img if [ "$STR" != "jsmt" ]; then ./gen_img.sh -d ${CHIP} -c ${$CUSTOM} -i ${IMG_TYPE} -r ${TYPE} -m lzma -s ${FLASH_SIZE} -b 2 -p ${PSRAM_SIZE} 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 cat env_tmp.sh . env_tmp.sh && [ "$NOT_CLEAN" == "" ] && make APP=$APP_SEL -C .. clobber make APP=$APP_SEL FLASH_SIZE=4 -C .. rm env_tmp.sh for STR in ${CUSTOM_STRING[@]}; do cd ../tools/gen_img for IMG in ${IMG_TYPE[@]}; do if [ "$STR" != "jsmt" ]; then ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r flash -m lzma -s ${FLASH_SIZE} -b 2 -p ${PSRAM_SIZE} ./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG} -r upgrade -m lzma -s ${FLASH_SIZE} -b 2 -p ${PSRAM_SIZE} fi done cd - done fi cd ../tools/gen_img mkdir -p ../../bin && cp -rf customer ../../bin