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