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