129 lines
3.2 KiB
Bash
Executable File
129 lines
3.2 KiB
Bash
Executable File
#!/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
|