#!/bin/bash CHIP=$1 CUSTOM=$2 CHIP_STRING=("HZ" "WQ" "NA") CUSTOM_STRING=("htzd" "jsmt" "wqrd" "gldq") IMG_TYPE=("ftm") CHIP_TYPE_STRING=("kl1" "kl2") PLATFORM_STRING=("CHIP" "FPGA") CHIP_ID_ENV="export HW_CHIP_ID=" TARGET_KL1_ENV="export target=kunlun1" TARGET_KL2_ENV="export target=kunlun2" SRC_ENV_FILE="env_flash_ftm.sh" DEF_CHIP="HZ" DEF_CHIP_TYPE="kl1" DEF_PLATFORM="CHIP" DEF_RUN_TYPE="flash" BUILD_FLAGS=0 usage() { echo "[Usage]" echo "$0 [chip name] [custom name] [chip type] [platform]" echo "[chip name] HZ/WQ/NA" echo "[custom name] htzd/jsmt/wqrd/gldq" echo "[chip type] kl1/kl2" echo "[platform] FPGA/CHIP" exit 1 } if [ "$CHIP" == "" ]; then BUILD_FLAGS=1 elif [ "$CHIP" == "?" ]; then BUILD_FLAGS=0 else for STR in ${CHIP_STRING[@]}; do if [ "$CHIP" == "$STR" ]; then DEF_CHIP=${CHIP} BUILD_FLAGS=2 fi done if [ $BUILD_FLAGS != 2 ]; then # param error echo "build script parameters error" usage fi fi if [ "$CUSTOM" != "" ]; then for STR in ${CUSTOM_STRING[@]}; do if [ "$CUSTOM" == "$STR" ]; then DEF_CHIP=${CHIP} BUILD_FLAGS=3 fi done if [ $BUILD_FLAGS != 3 ]; then # param error echo "build script parameters error" usage fi fi #CHIP_TYPE for k in $@; do for arg in ${CHIP_TYPE_STRING[@]}; do if [ "$k" == "$arg" ]; then DEF_CHIP_TYPE="$k" fi done done #PLATFORM for k in $@; do for arg in ${PLATFORM_STRING[@]}; do if [ "$k" == "$arg" ]; then DEF_PLATFORM="$k" fi done done rm -f ../Makefile ln -s ./build/Makefile ../Makefile set -o errexit if [ "${DEF_CHIP_TYPE}" == "kl2" ]; then cp $SRC_ENV_FILE env_tmp.sh echo $TARGET_KL2_ENV >> env_tmp.sh DEF_FLASH_SIZE=2 else cp $SRC_ENV_FILE env_tmp.sh echo $TARGET_KL1_ENV >> env_tmp.sh DEF_FLASH_SIZE=2 export cpu1_build=1 fi # alway 2m flash without psram export layout_index=1 build_cmd() { customer=$1 cd ../tools/gen_img ./gen_img.sh -d ${DEF_CHIP} -c ${customer} -i ftm -r flash cd - } if [ $BUILD_FLAGS == 0 ]; then usage elif [ $BUILD_FLAGS == 1 ]; then # build all ENV_CHIP=$CHIP_ID_ENV${DEF_CHIP} echo $ENV_CHIP >> env_tmp.sh cat env_tmp.sh . env_tmp.sh && make -C .. clobber && make PLATFORM=${DEF_PLATFORM} -C .. for STR in ${CUSTOM_STRING[@]}; do build_cmd ${STR} done rm env_tmp.sh elif [ $BUILD_FLAGS == 2 ]; then # build all ENV_CHIP=$CHIP_ID_ENV$CHIP echo $ENV_CHIP >> env_tmp.sh cat env_tmp.sh . env_tmp.sh && make -C .. clobber && make PLATFORM=${DEF_PLATFORM} -C .. for STR in ${CUSTOM_STRING[@]}; do build_cmd ${STR} done rm env_tmp.sh elif [ $BUILD_FLAGS == 3 ]; then #build one ENV_CHIP=$CHIP_ID_ENV$CHIP echo $ENV_CHIP >> env_tmp.sh cat env_tmp.sh . env_tmp.sh && make -C .. clobber && make PLATFORM=${DEF_PLATFORM} -C .. build_cmd $CUSTOM rm env_tmp.sh fi cd ../tools/gen_img mkdir -p ../../bin && cp -rf customer ../../bin