#!/bin/bash DEF_CHIP_ID="" DEF_APP=15 DEF_FLASH_SIZE="2m" DEF_IMG_TYPE="cco" DEF_NOT_CLEAN="0" GROUP_CHIP_ID=("HZ" "WQ") GROUP_CUSTOM=("htzd" "jsmt" "wqrd" "gldq" "ledc") GROUP_FLASH_SIZE=("1m" "2m") GROUP_PSRAM_SIZE=("4m" "8m") INPUT_CHIP_ID=$(echo $1 | tr '[a-z]' '[A-Z]') INPUT_FLASH_SIZE=$(echo $2 | tr '[A-Z]' '[a-z]') INPUT_PSRAM_SIZE=$(echo $3 | tr '[A-Z]' '[a-z]') CHIP_ID_ENV="export HW_CHIP_ID=" SRC_ENV_FILE="env_flash_cco.sh" PSRAM_SIZE_ENV="export psram_size=" FLASH_SIZE_ENV="export flash_size=" usage() { echo "$0 [CHIP_ID] [FLASH_SIZE] [PSRAM_SIZE] [BUILD_TYPE] [NOT_CLEAN]" echo "* [CHIP_ID] -- Necessary, hz/wq." echo "* [FLASH_SIZE] -- Optional, 1m/2m/4m, default is 2m." echo "* [PSRAM_SIZE] -- Optional, 4m/8m, both 4m and 8m are all compiled by default." echo "* [NOT_CLEAN] -- Optional, input 'not_clean' means increment compile." exit 1 } if [ "?" == "$1" ] || [ "" == "$1" ] ; then usage fi #DEF_NOT_CLEAN for k in $@; do if [ "$k" == "not_clean" ]; then DEF_NOT_CLEAN="1" break fi done #DEF_CHIP_ID for STR in ${GROUP_CHIP_ID[@]}; do if [ "$INPUT_CHIP_ID" == "$STR" ]; then DEF_CHIP_ID=$STR fi done if [ "${DEF_CHIP_ID}" == "" ]; then usage fi #DEF_FLASH_SIZE for STR in ${FLASH_SIZE_STRING[@]}; do if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then DEF_FLASH_SIZE=$STR break fi done #DEF_PSRAM_SIZE for STR in ${GROUP_PSRAM_SIZE[@]}; do if [ "$INPUT_PSRAM_SIZE" == "$STR" ]; then GROUP_PSRAM_SIZE[0]=$STR GROUP_PSRAM_SIZE[1]="NULL" break fi done if [ "$DEF_FLASH_SIZE" == "4m" ]; then FLASH_SIZE_nM=4 elif [ "$DEF_FLASH_SIZE" == "2m" ]; then FLASH_SIZE_nM=2 else FLASH_SIZE_nM=1 fi # 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 rm -f ../Makefile 2>/dev/null ln -s ./build/Makefile ../Makefile set -o errexit for iterm_psram in ${GROUP_PSRAM_SIZE[@]}; do if [ "8m" == "$iterm_psram" ]; then psram_size_nM=8 elif [ "4m" == "$iterm_psram" ]; then psram_size_nM=4 else break fi cp $SRC_ENV_FILE env_tmp.sh ENV_STRING=${PSRAM_SIZE_ENV}${psram_size_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}${DEF_CHIP_ID} echo $ENV_STRING >> env_tmp.sh cat env_tmp.sh . env_tmp.sh && [ "${DEF_NOT_CLEAN}" == "0" ] && make APP=$DEF_APP -C .. clobber make PLATFORM=CHIP FLASH_SIZE=$FLASH_SIZE_nM APP=$DEF_APP -C .. rm env_tmp.sh for STR in ${GROUP_CUSTOM[@]}; do cd ../tools/gen_img if [ "$DEF_FLASH_SIZE" == "1m" ]; then ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r flash -m lzma -p ${psram_size_nM} else if [ "$STR" != "jsmt" ] ; then ./gen_img.sh -d ${DEF_CHIP_ID} -c ${STR} -i ${DEF_IMG_TYPE} -r flash -m lzma -s ${DEF_FLASH_SIZE} -p ${psram_size_nM} fi fi cd - done done mkdir -p ../bin && cp -rf ../tools/gen_img/customer ../bin