328 lines
11 KiB
Bash
Executable File
328 lines
11 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
CHIP=""
|
|
FLASH_SIZE=""
|
|
PSRAM_SIZE="4m"
|
|
CUSTOM=""
|
|
RUN_TYPE="psram"
|
|
APP_SEL=""
|
|
|
|
INPUT_CHIP=$1
|
|
INPUT_FLASH_SIZE=$2
|
|
INPUT_PSRAM_SIZE=$3
|
|
INPUT_CUSTOM=$4
|
|
INPUT_TYPE=$5
|
|
APP_INPUT=$6
|
|
CHIP_STRING=("HZ" "WQ")
|
|
FLASH_SIZE_STRING=("1m" "2m" "4m" "combo")
|
|
CUSTOM_STRING=("htzd" "jsmt" "flx" "wqrd" "gldq" "brmt")
|
|
PSRAM_SIZE_STRING=("4m" "8m")
|
|
RUN_TYPE_STRING=("psram" "upgrade")
|
|
APP_ID_STRING=(0 5 6)
|
|
IMG_TYPE="cco"
|
|
|
|
HTZD_ENV_ID=0
|
|
JSMT_ENV_ID=0
|
|
FLX_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_cco.sh"
|
|
PSRAM_SIZE_ENV="export psram_size="
|
|
FLASH_SIZE_ENV="export flash_size="
|
|
|
|
# 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 customer bin
|
|
# 4 --> genarate specified version
|
|
# 5 --> set chip=arg1, flash_size=arg2, and pack all customers bin
|
|
|
|
err_out(){
|
|
# param error
|
|
echo "build script parameters error"
|
|
echo "[Usage]"
|
|
echo "$0 [chip name] [flash size] [psram size] [custom name] [type name] [app select] [psram]"
|
|
echo "[chip name] (${CHIP_STRING[@]})"
|
|
echo "[flash size] (${FLASH_SIZE_STRING[@]})"
|
|
echo "[psram size] (${PSRAM_SIZE_STRING[@]})"
|
|
echo "[custom name] (${CUSTOM_STRING[@]})"
|
|
echo "[type name] psram"
|
|
echo "[app select] (${APP_ID_STRING[@]}), 0:sg-app(default), 5:sg-ext-app, 6:smart-meter-app"
|
|
exit 1
|
|
}
|
|
|
|
if [ "$INPUT_CHIP" == "" ]; then
|
|
BUILD_FLAGS=1
|
|
else
|
|
for STR in ${CHIP_STRING[@]}; do
|
|
if [ "$INPUT_CHIP" == "$STR" ]; then
|
|
BUILD_FLAGS=2
|
|
CHIP=$STR
|
|
fi
|
|
done
|
|
if [ "$CHIP" == "" ];then
|
|
err_out
|
|
fi
|
|
fi
|
|
|
|
if [ "$INPUT_FLASH_SIZE" != "" ]; then
|
|
for STR in ${FLASH_SIZE_STRING[@]}; do
|
|
if [ "$INPUT_FLASH_SIZE" == "$STR" ]; then
|
|
BUILD_FLAGS=5
|
|
FLASH_SIZE=$STR
|
|
fi
|
|
done
|
|
if [ "$FLASH_SIZE" == "" ];then
|
|
err_out
|
|
fi
|
|
fi
|
|
|
|
if [ "$INPUT_PSRAM_SIZE" != "" ];then
|
|
for STR in ${PSRAM_SIZE_STRING[@]}; do
|
|
if [ "$INPUT_PSRAM_SIZE" == "$STR" ]; then
|
|
PSRAM_SIZE_STRING[0]=$STR
|
|
PSRAM_SIZE_STRING[1]=""
|
|
PSRAM_SIZE=$STR
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ "$INPUT_CUSTOM" != "" ]; then
|
|
for STR in ${CUSTOM_STRING[@]}; do
|
|
if [ "$INPUT_CUSTOM" == "$STR" ]; then
|
|
BUILD_FLAGS=3
|
|
CUSTOM=$STR
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ "$INPUT_TYPE" != "" ]; then
|
|
for STR in ${RUN_TYPE_STRING[@]}; do
|
|
if [ "$INPUT_TYPE" == "$STR" ]; then
|
|
RUN_TYPE=$STR
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [ "$APP_INPUT" != "" ]; then
|
|
for STR in ${APP_ID_STRING[@]}; do
|
|
if [ "$APP_INPUT" == "$STR" ]; then
|
|
BUILD_FLAGS=4
|
|
APP_SEL=$STR
|
|
fi
|
|
done
|
|
fi
|
|
|
|
#check input parameters.
|
|
if [ "5" == "$BUILD_FLAGS" ]; then
|
|
if [ "$INPUT_CUSTOM" == "" ] && [ "$INPUT_TYPE" == "" ] && [ "$APP_INPUT" == "" ]; then
|
|
APP_SEL=0
|
|
else
|
|
err_out
|
|
fi
|
|
elif [ "2" == "$BUILD_FLAGS" ]; then
|
|
if [ "$CHIP" == "" ]; then
|
|
err_out
|
|
fi
|
|
elif [ "3" == "$BUILD_FLAGS" ]; then
|
|
if [ "$CHIP" == "" ] || [ "$FLASH_SIZE" == "" ] || [ "$PSRAM_SIZE" == "" ] || [ "$CUSTOM" == "" ]; then
|
|
err_out
|
|
fi
|
|
elif [ "4" == "$BUILD_FLAGS" ]; then
|
|
if [ "$CHIP" == "" ] || [ "$FLASH_SIZE" == "" ] || [ "$PSRAM_SIZE" == "" ] || [ "$CUSTOM" == "" ] || [ "$RUN_TYPE" == "" ] || [ "$APP_SEL" == "" ]; then
|
|
err_out
|
|
fi
|
|
if [ "$PSRAM_SIZE" == "0m" ] || [ "$PSRAM_SIZE" == "" ]; then
|
|
err_out
|
|
fi
|
|
else
|
|
err_out
|
|
fi
|
|
|
|
FLASH_SIZE_nM=${FLASH_SIZE/m/}
|
|
PSRAM_SIZE_nM=${PSRAM_SIZE/m/}
|
|
|
|
cp $SRC_ENV_FILE env_tmp.sh
|
|
ENV_STRING=${PSRAM_SIZE_ENV}${PSRAM_SIZE_nM}
|
|
echo $ENV_STRING >> env_tmp.sh
|
|
|
|
# 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
|
|
|
|
if [ "x${APP_SEL}" == "x0" ]; then
|
|
APP_NAME="sg"
|
|
elif [ "x${APP_SEL}" == "x5" ]; then
|
|
APP_NAME="sg_ext"
|
|
elif [ "x${APP_SEL}" == "x6" ]; then
|
|
APP_NAME="sg_meter"
|
|
fi
|
|
|
|
# clear bin file
|
|
[ "$CLR_BIN_FILE" == "1" ] && echo "clr bin file.." && cd ../tools/gen_img && rm -rf customer && cd -
|
|
rm -f ../Makefile
|
|
ln -s ./build/Makefile ../Makefile
|
|
|
|
set -o errexit
|
|
|
|
if [ $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}
|
|
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
|
|
# 1M flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
if [ "$STR" != "jsmt" ] && [ "$STR" != "flx" ]; then
|
|
# 2M flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
# COMBO flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s combo
|
|
fi
|
|
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}
|
|
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
|
|
# 1M flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
if [ "$STR" != "jsmt" ] && [ "$STR" != "flx" ]; then
|
|
# 2M flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 2m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
# 4M flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s 4m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s 4m -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
# COMBO flash image
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s combo
|
|
fi
|
|
cd -
|
|
done
|
|
elif [ $BUILD_FLAGS == 3 ]; then
|
|
# set chip=arg1, custom=arg2, and pack one customers bin
|
|
echo "BUILD FLAGS: "${BUILD_FLAGS}
|
|
|
|
if [ "$CUSTOM" == "htzd" ]; then
|
|
ENV_STRING=${VER_ID_ENV}${HTZD_ENV_ID}
|
|
elif [ "$CUSTOM" == "jsmt" ]; then
|
|
ENV_STRING=${VER_ID_ENV}${JSMT_ENV_ID}
|
|
elif [ "$CUSTOM" == "flx" ]; then
|
|
ENV_STRING=${VER_ID_ENV}${FLX_ENV_ID}
|
|
elif [ "$CUSTOM" == "wqrd" ]; then
|
|
ENV_STRING=${VER_ID_ENV}${WQRD_ENV_ID}
|
|
elif [ "$CUSTOM" == "gldq" ]; then
|
|
ENV_STRING=${VER_ID_ENV}${GLDQ_ENV_ID}
|
|
else
|
|
echo "build script parameters error"
|
|
echo "[Usage]"
|
|
echo "$0 [custom name]"
|
|
exit 1
|
|
fi
|
|
|
|
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}${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
|
|
|
|
cd ../tools/gen_img
|
|
if [ "$FLASH_SIZE" == "1m" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
else
|
|
if [ "$CUSTOM" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
fi
|
|
fi
|
|
cd -
|
|
elif [ $BUILD_FLAGS == 4 ]; then
|
|
#build specified image
|
|
echo "BUILD FLAGS: "${BUILD_FLAGS}
|
|
ENV_STRING=${FLASH_SIZE_ENV}${FLASH_SIZE_nM}
|
|
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 FLASH_SIZE=$FLASH_SIZE_nM APP=$APP_SEL -C ..
|
|
rm env_tmp.sh
|
|
|
|
cd ../tools/gen_img
|
|
if [ "$FLASH_SIZE" == "1m" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
else
|
|
if [ "$CUSTOM" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${CUSTOM} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${PSRAM_SIZE_nM}
|
|
fi
|
|
fi
|
|
cd -
|
|
elif [ $BUILD_FLAGS == 5 ]; then
|
|
#build 2m flash image
|
|
echo "BUILD FLAGS: "${BUILD_FLAGS}
|
|
rm env_tmp.sh
|
|
for iterm_psram in ${PSRAM_SIZE_STRING[@]}; do
|
|
cur_psram_nM=${iterm_psram/m/}
|
|
cp $SRC_ENV_FILE env_tmp.sh
|
|
ENV_STRING=${PSRAM_SIZE_ENV}${cur_psram_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}${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
|
|
if [ "$FLASH_SIZE" == "1m" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -a ${APP_NAME} -p ${cur_psram_nM}
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -a ${APP_NAME} -p ${cur_psram_nM}
|
|
else
|
|
if [ "$STR" != "jsmt" ] && [ "$CUSTOM" != "flx" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r flash -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM}
|
|
if [ "$FLASH_SIZE" == "2m" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM}
|
|
elif [ "$FLASH_SIZE" == "4m" ]; then
|
|
./gen_img.sh -d ${CHIP} -c ${STR} -i ${IMG_TYPE} -r upgrade -m lzma -s ${FLASH_SIZE} -a ${APP_NAME} -p ${cur_psram_nM}
|
|
fi
|
|
fi
|
|
fi
|
|
cd -
|
|
done
|
|
done
|
|
fi
|
|
|
|
cd ../tools/gen_img
|
|
mkdir -p ../../bin && cp -rf customer ../../bin
|