#!/bin/bash #If an error occurs, exit and return the error. set -o errexit DEF_APP=18 DEF_IMAGE_TYPE="" DEF_FLASH_SIZE="2m" DEF_PSRAM_SIZE="0m" DEF_CHIP_ID="wq" DEF_REL="release" DEF_CHIP_TYPE="kl1" GROUP_IMAGE_TYPE=("cco" "sta") GROUP_FLASH_SIZE=("1m" "2m" "4m") GROUP_PSRAM_SIZE=("0m" "2m" "4m") GROUP_REL=("debug" "release") INPUT_IMG_TYPE=$(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]') usage() { echo "$0 [IMAGE_TYPE] [FLASH_SIZE] [PSRAM_SIZE] [BUILD_TYPE]" echo "* [IMAGE_TYPE] -- Necessary, cco or sta." echo "* [FLASH_SIZE] -- Optional, 1m/2m/4m, default is 2m." echo "* [PSRAM_SIZE] -- Optional, 0m/2m/4m, default cco:4m, sta:0m." echo "* [BUILD_TYPE] -- Optional, release or debug." exit 1 } if [ "?" == "$1" ] || [ "" == "$1" ] ; then usage fi #DEF_REL for k in $@; do for arg in ${GROUP_REL[@]}; do if [ "$k" == "${arg}" ]; then DEF_REL="$k" break fi done done if [ "$DEF_REL" != "" ]; then GROUP_REL[0]=$DEF_REL GROUP_REL[1]="NULL" fi #DEF_IMAGE_TYPE for arg in ${GROUP_IMAGE_TYPE[@]}; do if [ "${INPUT_IMG_TYPE}" == "${arg}" ]; then DEF_IMAGE_TYPE="${INPUT_IMG_TYPE}" break fi done if [ "$DEF_IMAGE_TYPE" == "cco" ]; then DEF_PSRAM_SIZE="4m" elif [ "$DEF_IMAGE_TYPE" == "sta" ]; then DEF_PSRAM_SIZE="0m" else usage fi #DEF_FLASH_SIZE for arg in ${GROUP_FLASH_SIZE[@]}; do if [ "${INPUT_FLASH_SIZE}" == "$arg" ]; then DEF_FLASH_SIZE="${INPUT_FLASH_SIZE}" break fi done #DEF_PSRAM_SIZE for arg in ${GROUP_PSRAM_SIZE[@]}; do if [ "${INPUT_PSRAM_SIZE}" == "$arg" ]; then DEF_PSRAM_SIZE="${INPUT_PSRAM_SIZE}" break fi done #start building... for ARG_REL in ${GROUP_REL[@]}; do if [ "${ARG_REL}" == "NULL" ]; then break fi echo "./build_flash_smart.sh ${DEF_IMAGE_TYPE} ${DEF_APP} ${DEF_FLASH_SIZE} ${DEF_PSRAM_SIZE} ${DEF_CHIP_ID} ${ARG_REL} ${DEF_CHIP_TYPE}" ./build_flash_smart.sh ${DEF_IMAGE_TYPE} ${DEF_APP} ${DEF_FLASH_SIZE} ${DEF_PSRAM_SIZE} ${DEF_CHIP_ID} ${ARG_REL} ${DEF_CHIP_TYPE} done