Files
kunlun/build/build_flash_ftm.sh

144 lines
3.1 KiB
Bash
Raw Normal View History

2024-09-28 14:24:04 +08:00
#!/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