ec718/ec_fullsdk/PLAT/GccBuild_ec718u.sh

1025 lines
39 KiB
Bash
Raw Normal View History

2025-04-10 17:31:33 +08:00
#!/bin/bash
echo $PATH
clear
export BUILD_ENV=linux
export PROJECT_NAME=at_command
export BOARD_NAME=ec7xx_0h00
export CHIP_NAME=ec7xx
export CHIP_TYPE=ec718u
export CORE_NAME=ap
export EUTRAN_MODE=cat_mode
export BUILD_OPTION=merge
export UNILOG=false
export TOOLCHAIN_NAME=GCC
export CUST=common
export SDKREL=false
export OPENCPU=false
export RAM_ENABLE=false
export ROM_ENABLE=false
export LESS_LOG=false
export LTO_ENABLE=false
export PWR_TEST=false
export BUILD_HEADBIN=false
export GCCLIB_PATH="$HOME/gcc"
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/full"
export CPBIN_SUBPATH=oc
export PKG_MAPDEF=pkg_718p_mapdef
export PKG_PRODUCT="EC718P_PRD"
export PKG_PRODUCT_SEC="PEC718P_PRD_SEC"
export OUTPUT_NAME=$BOARD_NAME"_"$CHIP_TYPE
export JOBNUMBER=j8
export CUR_PATH=$('pwd')
echo $0 version $(date "+%Y%m%d")
echo GCCLIB_PATH: $GCCLIB_PATH
echo Chip Type: $CHIP_TYPE
if [ ! -e $GCCLIB_PATH ]
then
echo ERROR:Please check GCCLIB_PATH setting,exit!!!
exit 1
fi
if [ ! -e "gccout" ]; then
mkdir gccout
fi
echo CUR_PATH:$CUR_PATH
#touch -d $(date "+%Y%m%d%H%M%S") ./fibocom/fibo-framework/module/ffw_verno/verno.c
PARAMETERS=$1
OLD_IFS="$IFS"
IFS="-"
PARAMARRY=($*)
IFS="$OLD_IFS"
check_param(){
for param in ${PARAMARRY[@]}
do
if [ -n "$(echo $param|grep -w 'qcom')" ]
then
export CUST=qcom
fi
if [ -n "$(echo $param|grep -w 'ec718_0h00')" ]
then
export BOARD_NAME=ec718_0h00
export CHIP_NAME=ec7xx
export OUTPUT_NAME=ec718_0h00_$CHIP_TYPE
fi
if [ -n "$(echo $param|grep -w 'bootloader')" ]
then
export PROJECT_NAME=bootloader
export BUILD_OPTION=no_merge
fi
if [ -n "$(echo $param|grep -w 'ap')" ]
then
export CORE_NAME=ap
export BUILD_OPTION=no_merge
fi
if [ -n "$(echo $param|grep -w 'cp')" ]
then
export CORE_NAME=cp
export PROJECT_NAME=cp_project
export BUILD_OPTION=no_merge
fi
if [ -n "$(echo $param|grep -w 'pwrTest')" ]
then
export PWR_TEST=true
fi
if [ -n "$(echo $param|grep -w 'nb_mode')" ]
then
export EUTRAN_MODE=nb_mode
fi
if [ -n "$(echo $param|grep -w 'at_command')" ]
then
export PROJECT_NAME=at_command
fi
if [ -n "$(echo $param|grep -w 'socket_command')" ]
then
export PROJECT_NAME=socket_command
fi
if [ -n "$(echo $param|grep -w 'mqtt_example')" ]
then
export PROJECT_NAME=mqtt_example
fi
if [ -n "$(echo $param|grep -w 'https_example')" ]
then
export PROJECT_NAME=https_example
fi
if [ -n "$(echo $param|grep -w 'ssl_example')" ]
then
export PROJECT_NAME=ssl_example
fi
if [ -n "$(echo $param|grep -w 'libapi_example')" ]
then
export PROJECT_NAME=libapi_example
fi
if [ -n "$(echo $param|grep -w 'pos_example')" ]
then
export PROJECT_NAME=pos_example
fi
if [ -n "$(echo $param|grep -w 'tts_example')" ]
then
export PROJECT_NAME=tts_example
fi
if [ -n "$(echo $param|grep -w 'audio_example')" ]
then
export PROJECT_NAME=audio_example
fi
if [ -n "$(echo $param|grep -w 'lpuart_test')" ]
then
export PROJECT_NAME=lpuart_test
fi
if [ -n "$(echo $param|grep -w 'driver_example')" ]
then
export PROJECT_NAME=driver_example
export BUILD_OPTION=no_merge
fi
if [ -n "$(echo $param|grep -w 'dhrystone')" ]
then
export PROJECT_NAME=dhrystone
fi
if [ -n "$(echo $param|grep -w 'coremark')" ]
then
export PROJECT_NAME=coremark
fi
if [ -n "$(echo $param|grep -w 'slpman_example')" ]
then
export PROJECT_NAME=slpman_example
fi
if [ -n "$(echo $param|grep -w 'sleep_example')" ]
then
export PROJECT_NAME=sleep_example
fi
if [ -n "$(echo $param|grep -w 'slpPressure_test')" ]
then
export PROJECT_NAME=slpPressure_test
export BUILD_OPTION=no_merge
export LTO_ENABLE=false
fi
if [ -n "$(echo $param|grep -w 'ChipIpTest')" ]
then
export PROJECT_NAME=ChipIpTest
export BUILD_OPTION=no_merge
export LTO_ENABLE=false
fi
if [ -n "$(echo $param|grep -w 'ModemSlpPressure')" ]
then
export CORE_NAME=cp
export PROJECT_NAME=ModemSlpPressure
export BUILD_OPTION=no_merge
export LTO_ENABLE=false
fi
if [ -n "$(echo $param|grep -w 'mcu_example')" ]
then
export PROJECT_NAME=mcu_example
fi
if [ -n "$(echo $param|grep -w 'soc_simple')" ]
then
export PROJECT_NAME=soc_simple
fi
if [ -n "$(echo $param|grep -w 'soc_bist')" ]
then
export PROJECT_NAME=soc_bist
fi
if [ -n "$(echo $param|grep -w 'simo_test')" ]
then
export PROJECT_NAME=simo_test
fi
if [ -n "$(echo $param|grep -w 'clk_verify')" ]
then
export PROJECT_NAME=clk_verify
fi
if [ -n "$(echo $param|grep -w 'qspi_test')" ]
then
export PROJECT_NAME=qspi_test
fi
if [ -n "$(echo $param|grep -w 'fpga_sct_utfw')" ]
then
export PROJECT_NAME=fpga_sct_utfw
fi
if [ -n "$(echo $param|grep -w 'spi_2boards')" ]
then
export PROJECT_NAME=spi_2boards
fi
if [ -n "$(echo $param|grep -w 'merge')" ]
then
export BUILD_OPTION=merge
fi
if [ -n "$(echo $param|grep -w 'sdkrel')" ]
then
export SDKREL=true
fi
if [ -n "$(echo $param|grep -w 'lto')" ]
then
export LTO_ENABLE=true
fi
if [ -n "$(echo $param|grep -w 'open_cpu')" ]
then
export OPENCPU=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
fi
if [ -n "$(echo $param|grep -w 'audio')" ]
then
export AUDIO_ENABLE=true
export OPENCPU=true
export CPBIN_SUBPATH=audio
fi
if [ -n "$(echo $param|grep -w 'ims')" ]
then
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export OPENCPU=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
fi
if [ -n "$(echo $param|grep -w 'imsfix')" ]
then
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export OPENCPU=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export AUDIO_FIX_ENABLE=true
fi
if [ -n "$(echo $param|grep -w 'isms')" ]
then
export IMS_SMSONLY_ENABLE=true
export OPENCPU=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/isms"
fi
if [ -n "$(echo $param|grep -w 'verbose')" ]
then
export VERBOSE=1
else
export VERBOSE=0
fi
if [ -n "$(echo $param|grep -w 'secboot')" ]
then
export BUILD_HEADBIN=true
makefile_path="./project/$BOARD_NAME/ap/apps/bootloader/GCC/Makefile"
temp_file="temp.txt"
awk '
{
if ($0 == "CONFIG_PROJ_APP_SECURITY_BOOT = n") {
print "CONFIG_PROJ_APP_SECURITY_BOOT=y"
} else {
print $0
}
}
' "$makefile_path" > "$temp_file"
mv "$temp_file" "$makefile_path"
fi
done
}
if [ $# -eq 0 ];then
echo no input paramter, use default build setting
echo default Board is: $BOARD_NAME
echo default Chip is: $CHIP_NAME
echo default ChipType is: $CHIP_TYPE
echo default Project is: $PROJECT_NAME
echo default core is: $CORE_NAME
echo default option is: $BUILD_OPTION
else
check_param
fi
if [ -n "$(echo $LITE|grep 'true')" ]
then
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/lite"
fi
if [ -f '$COMDBLIB_PATH/comdblib.txt' ]
then
echo cp '$COMDBLIB_PATH/comdblib.txt' './tools/'
cp '$COMDBLIB_PATH/comdblib.txt' './tools/'
fi
echo curr Board is: $BOARD_NAME
echo curr Chip is: $CHIP_NAME
echo curr Type is: $CHIP_TYPE
echo curr Project is: $PROJECT_NAME
echo curr core is: $CORE_NAME
echo curr option is: $BUILD_OPTION
echo cp bin subpath: $CPBIN_SUBPATH
if [ -f "$COMDBLIB_PATH/comdblib.txt" ]
then
cp -f $COMDBLIB_PATH/comdblib.txt ./tools/
fi
if [ -n "$(echo $PARAMETERS|grep 'help')" ]
then
echo "=============================================================================================="
echo " "
echo " >> HOW TO BUILD A PROJECT << "
echo " "
echo "=============================================================================================="
echo " "
echo " @FORMAT : Gccbuild.sh [<board>[-<core>[-<project>[-<option>]]]] "
echo " @CAUTION: All parameters (<board>/<core>/<project>/<option>) are optional, "
echo " and the default settings of the project will take effect if it occurs! "
echo " For <board>, only 'ec718_0h00' is supportted, and it should be omitted ! "
echo " "
echo "**********************************************************************************************"
echo " <options>: "
echo " >> Basic "
echo " merge compile bl, cp and ap images and merge them into a package. [default] "
echo " clean clean the output files for a specific board and project. "
echo " clall clean all output files for every board and project. "
echo " allprojects trigger to compile all example projects of the default board "
echo " list list all supported boards and supported projects for every board "
echo " help display this help message. "
echo " "
echo " >> Advanced "
echo " NULL(default) full feature support£¨no ims£©, AP lib: full, CP image: oc "
echo " open_cpu for open dev, more ram, AP lib: oc, CP image: oc "
echo " isms open_cpu + ims sms, AP lib: isms, CP image: oc "
echo " ims volte feature support, AP lib: ims, CP image: audio "
echo " audio audio support(e.g. local MP3 play), AP lib: oc, CP image: audio "
echo "**********************************************************************************************"
echo " Examples: "
echo "----------------------- For Internal Full Source Build----------------------------------------"
echo " > Gccbuild.sh "
echo " build bootloader, ap images and merge them into a package. "
echo " > Gccbuild.sh ap-at_command "
echo " build ap at_command project only. "
echo " > Gccbuild.sh ap-bootloader "
echo " build bootloader project only. "
echo " > Gccbuild.bat cp "
echo " build cp project only. "
echo " > Gccbuild.sh ap-driver_example-clean "
echo " clean all output files for ap driver_example project. "
echo " "
echo "----------------------- For Customer's SDK Build----------------------------------------------"
echo " > Gccbuild.sh "
echo " build bootloader,ap images, use prebuilt cp image, and merge them into a package. "
echo " > Gccbuild.sh project_name e.g. project_name = at_command/driver_example "
echo " build xxx(project_name) project "
echo " "
echo " @NOTE: SDK build always generates a package(project_name.bin + bootloader.bin + cp.bin). "
echo " "
echo "----------------------- For Universal Build---------------------------------------------------"
echo " > Gccbuild.sh clean "
echo " clean all output files for the default project. "
echo " > Gccbuild.sh clall "
echo " clean all output files for every board and project. "
echo " > Gccbuild.sh list "
echo " list all supported boards and supported projects for every board. "
echo " "
echo " > Gccbuild.sh open_cpu "
echo " build 'open cpu' mode images of the default project, and merge them into a package. "
echo " "
echo "**********************************************************************************************"
exit 1
fi
if [ -n "$(echo $PARAMETERS|grep 'list')" ]
then
echo ---------------Supported Board------------------------------------
for Board in $(ls $CUR_PATH/project/)
do
echo $Board
done
echo ------------------------------------------------------------------
for Board in $(ls $CUR_PATH/project/)
do
Board_path=$CUR_PATH/project/$Board
CURRENT_PROJECTS=$Board_path/ap/apps
#echo $CURRENT_BOARD/*
if [ -e $CURRENT_PROJECTS ]
then
echo *********supported projects for board: $Board*************
for projects in $(ls $CURRENT_PROJECTS/)
do
echo ----$projects
done
fi
done
exit 1
fi
end()
{
echo "--end--"
exit 1
}
if [ -n "$(echo $PARAMETERS|grep 'clall')" ]
then
make -$JOBNUMBER clean-gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME PROJECT=$PROJECT_NAME CORE=$CORE_NAME
rm -rf ./gccout/*
echo "clean all done ok..."
end
fi
if [ -n "$(echo $PARAMETERS|grep 'clean')" ]
then
make -$JOBNUMBER clean-gcc TYPE=$CHIP_TYPE TARGET=$BOARD_NAME PROJECT=$PROJECT_NAME CORE=$CORE_NAME
echo "clean done ok..."
end
fi
if [ -n "$(echo $PARAMETERS|grep 'clobj')" ]
then
rm -rf ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/*.o
rm -rf ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/*.a
rm -rf ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/*.elf
echo "clean objs done ok..."
end
fi
completeHandle()
{
endtime=$(date "+%Y/%m/%d %H:%M:%S")
echo "Start time:" $starttime
echo "End time:" $endtime
echo "#######################################################################"
echo "## ##"
echo "## ######## ### ###### ###### ##"
echo "## ## ## ## ## ## ## ## ## ##"
echo "## ## ## ## ## ## ## ##"
echo "## ######## ## ## ###### ###### ##"
echo "## ## ######### ## ## ##"
echo "## ## ## ## ## ## ## ## ##"
echo "## ## ## ## ###### ###### ##"
echo "## ##"
echo "#######################################################################"
echo build successfully
exit 1
}
failHandle()
{
echo fail
echo "#######################################################################"
echo "## ##"
echo "## ######## ### #### ## ##"
echo "## ## ## ## ## ## ##"
echo "## ## ## ## ## ## ##"
echo "## ###### ## ## ## ## ##"
echo "## ## ######### ## ## ##"
echo "## ## ## ## ## ## ##"
echo "## ## ## ## #### ######## ##"
echo "## ##"
echo "#######################################################################"
exit 1
}
starttime=$(date "+%Y/%m/%d %H:%M:%S")
echo "Start time:" $starttime
if [ -n "$(echo $PARAMETERS|grep 'allobjects')" ]
then
if [ -e ./gccout/$OUTPUT_NAME ]
then
echo delete $OUTPUT_NAME folder......
rm -rf ./gccout/$OUTPUT_NAME
fi
#step1 build cp if not SDK
if [ ! -f "./tools/comdblib.txt" ]
then
echo start logprepass b11
if [ -f "./tools/UpdateDBPattern.txt" ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=cp_project CORE=cp BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/cp/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
#this header file will compile with device code
cp -f ./gccout/$OUTPUT_NAME/cp/cp_project/debug_log_cp.h ./middleware/developed/debug/inc/
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=cp_project CORE=cp BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/cp/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
fi
#step2 build bootloader no matter SDK or not
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=bootloader CORE=ap BUILD_UNILOG=false BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
echo *********supported projects for board: $BOARD_NAME*************
for projects in $(ls $CUR_PATH/project/$BOARD_NAME/ap/apps/)
do
echo ----$projects
if [ "$projects" == "bootloader" ]
then
echo ignore bootloader when loop all project
else
#this header file will compile with device code
if [ "$projects" == "at_command" ]
then
cp -p ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/debug_log_ap.h ./middleware/developed/debug/inc/
if [ -e "./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h" ]; then
cp -p -rf ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h ./middleware/developed/debug/inc/
fi
fi
if [ -f "./tools/UpdateDBPattern.txt" ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
if [ -f "./tools/comdblib.txt" ]
then
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=$projects CORE=ap BUILD_UNILOG=true SDK=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
else
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=$projects CORE=ap BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
fi
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=$projects CORE=ap BUILD_UNILOG=true BUILD_CUST=$CUST SDK=true | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
#718p: SYSBNADR=7e000 718s: SYSBNADR=72000
if [ ! -f ./tools/comdblib.txt ]
then
./tools/fcelf -T -bin ./gccout/$OUTPUT_NAME/ap/$projects/ap_$projects.bin -size AP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/cp/cp_project/cp-demo-flash.bin -size CP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -size BOOTLOADER_PKGIMG_LIMIT_SIZE \
-h ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
if [ "$BUILD_HEADBIN" == "true" ]
then
echo general headers 1
./tools/ecsecure APIMAGE=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin \
CPIMAGE=./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin \
BLIMAGE=./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin \
BLHASH=1 SYSHASH=1 \
HEAD1=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin \
HEAD2=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin \
BLPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_bl.pem \
SYSPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_sys.pem \
ADRBASE=AP_FLASH_XIP_ADDR \
APADR=AP_FLASH_LOAD_ADDR \
CFGDEF=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_FLASH_LOAD_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin -addrname BLS_SEC_HAED_ADDR -flashsize BLS_FLASH_LOAD_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin -addrname SYS_SEC_HAED_ADDR -flashsize SYS_FLASH_LOAD_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
else
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
fi
./tools/fcelf -m -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.elf -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.elf -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.elf -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.elf
if [ $? -ne 0 ]
then
failHandle
fi
else
./tools/fcelf -T -bin ./gccout/$OUTPUT_NAME/ap/$projects/ap_$projects.bin -size AP_PKGIMG_LIMIT_SIZE \
-bin ./prebuild\FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -size CP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -size BOOTLOADER_PKGIMG_LIMIT_SIZE \
-h ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
if [ "$BUILD_HEADBIN" == "true" ]
then
echo general headers 2
./tools/ecsecure APIMAGE=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin \
CPIMAGE=./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin \
BLIMAGE=./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin \
BLHASH=1 SYSHASH=1 \
HEAD1=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin \
HEAD2=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin \
BLPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_bl.pem \
SYSPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_sys.pem \
ADRBASE=AP_FLASH_XIP_ADDR \
APADR=AP_FLASH_LOAD_ADDR \
CFGDEF=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin -addrname BLS_SEC_HAED_ADDR -flashsize BLS_FLASH_LOAD_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin -addrname SYS_SEC_HAED_ADDR -flashsize SYS_FLASH_LOAD_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
else
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
fi
fi
if [ -f "./tools/UpdateDBPattern.txt" ]
then
cat ./tools/UpdateDBPattern.txt
fi
fi
done
completeHandle
fi
if [ "$BUILD_OPTION" == "merge" ]
then
if [ -f './tools/comdblib.txt' ]
then
echo start loggpress
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=bootloader CORE=$CORE_NAME BUILD_UNILOG=false BUILD_CUST=$CUST SDK=true | tee ./gccout/$OUTPUT_NAME/$CORE_NAME/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
#failHandle
if [ -e './tools/UpdateDBPattern.txt' ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME PROJECT=$PROJECT_NAME CORE=$CORE_NAME BUILD_UNILOG=true BUILD_CUST=$CUST SDK=true
# copy log file
cp -p ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/debug_log_ap.h ./middleware/developed/debug/inc/
if [ -e "./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h" ]; then
cp -p -rf ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h ./middleware/developed/debug/inc/
fi
# build ap
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=$PROJECT_NAME CORE=ap BUILD_UNILOG=true BUILD_CUST=$CUST SDK=true MANUFACTURER=$MANUFACTURER | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
./tools/fcelf -T -bin ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -size AP_PKGIMG_LIMIT_SIZE \
-bin ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -size CP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -size BOOTLOADER_PKGIMG_LIMIT_SIZE \
-h ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
if [ "$BUILD_HEADBIN" == "true" ]
then
echo general headers 3
./tools/ecsecure APIMAGE=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin \
CPIMAGE=./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin \
BLIMAGE=./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin \
BLHASH=1 SYSHASH=1 \
HEAD1=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin \
HEAD2=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin \
BLPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_bl.pem \
SYSPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_sys.pem \
ADRBASE=AP_FLASH_XIP_ADDR \
APADR=AP_FLASH_LOAD_ADDR \
CFGDEF=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin -addrname XPKGDBLSH_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin -addrname XPKGDSYSH_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/xpk_PrMgrCfg_json.bin -addrname XPKGDPRM_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/xpk_format_json.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/config_xpk_uart_baseini.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/config_xpk_usb_baseini.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT_SEC \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
else
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
fi
if [ "$FIBOCOM_PKG_OPENSDK" == "true" ];
then
if [ -e "opensdk.py" ]; then
python3 opensdk.py $PROJECT_NAME $CHIP_TYPE
./opensrc.sh
fi
fi
if [ -f ./tools/UpdateDBPattern.txt ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
completeHandle
else
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=bootloader CORE=$CORE_NAME SDK_REL=$SDKREL BUILD_UNILOG=false BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/$CORE_NAME/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
echo start logprepass b22
if [ -e './tools/UpdateDBPattern.txt' ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=cp_project CORE=cp SDK_REL=$SDKREL BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/cp/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=cp_project CORE=cp SDK_REL=$SDKREL BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/cp/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=$PROJECT_NAME CORE=ap SDK_REL=$SDKREL BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
# copy log file
cp -p ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/debug_log_ap.h ./middleware/developed/debug/inc/
if [ -e "./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h" ]; then
cp -p -rf ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/dbversion.h ./middleware/developed/debug/inc/
fi
# build ap
make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=$PROJECT_NAME CORE=ap SED_REL=$SDKREL BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/ap/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
./tools/fcelf -T -bin ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -size AP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/cp/cp_project/cp-demo-flash.bin -size CP_PKGIMG_LIMIT_SIZE \
-bin ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -size BOOTLOADER_PKGIMG_LIMIT_SIZE \
-h ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
if [ "$BUILD_HEADBIN" == "true" ]
then
echo general headers 4
./tools/ecsecure APIMAGE=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin \
CPIMAGE=./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin \
BLIMAGE=./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin \
BLHASH=1 SYSHASH=1 \
HEAD1=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin \
HEAD2=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin \
BLPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_bl.pem \
SYSPEM=./project/$BOARD_NAME/ap/apps/bootloader/code/main/pub_key_sys.pem \
ADRBASE=AP_FLASH_XIP_ADDR \
APADR=AP_FLASH_LOAD_ADDR \
CFGDEF=./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt
if [ $? -ne 0 ]
then
failHandle
fi
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/bl_sec_header.bin -addrname XPKGDBLSH_VIRTIMG_MERGE_LNA -flashsize BLS_FLASH_LOAD_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/sys_sec_header.bin -addrname XPKGDSYSH_VIRTIMG_MERGE_LNA -flashsize SYS_FLASH_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/xpk_PrMgrCfg_json.bin -addrname XPKGDPRM_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/xpk_format_json.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/config_xpk_uart_baseini.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-input ./tools/pkgdata/$CHIP_TYPE/config_xpk_usb_baseini.bin -addrname XPKGDCMN_VIRTIMG_MERGE_LNA -flashsize XPKG_VIRTIMG_LOAD_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT_SEC \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
else
./tools/fcelf -M -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./prebuild/FW/lib/gcc/$CHIP_TYPE/$CPBIN_SUBPATH/cp-demo-flash.bin -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.binpkg
if [ $? -ne 0 ]
then
failHandle
fi
fi
./tools/fcelf -m -input ./gccout/$OUTPUT_NAME/ap/bootloader/ap_bootloader.elf -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/ap_$PROJECT_NAME.elf -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE \
-input ./gccout/$OUTPUT_NAME/cp/cp_project/cp-demo-flash.elf -addrname CP_PKGIMG_LNA -flashsize CP_PKGIMG_LIMIT_SIZE \
-pkgmode 1 \
-banoldtool 1 \
-productname $PKG_PRODUCT \
-def ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/mem_map.txt \
-outfile ./gccout/$OUTPUT_NAME/ap/$PROJECT_NAME/$PROJECT_NAME.elf
if [ $? -ne 0 ]
then
failHandle
fi
if [ -f ./tools/UpdateDBPattern.txt ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
completeHandle
fi
fi
buildimage()
{
echo "buildimage"
( make -$JOBNUMBER gccall TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE EUTRAN_MODE=$EUTRAN_MODE PROJECT=$PROJECT_NAME CORE=$CORE_NAME BUILD_UNILOG=$UNILOG BUILD_CUST=$CUST ) | tee ./gccout/$OUTPUT_NAME/$CORE_NAME/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
else
completeHandle
fi
}
if [ -n "$(echo $PROJECT_NAME|grep 'bootloader')" ]
then
buildimage
fi
if [ -n "$(echo $PROJECT_NAME|grep 'driver_example')" ]
then
buildimage
fi
export UNILOG=true
echo "start logprepass b2"
if [ -f ./tools/UpdateDBPattern.txt ]
then
rm -f ./tools/UpdateDBPattern.txt
fi
make -$JOBNUMBER build-unilog TYPE=$CHIP_TYPE TARGET=$BOARD_NAME V=$VERBOSE PROJECT=$PROJECT_NAME CORE=$CORE_NAME TOOLCHAIN_NAME=$TOOLCHAIN_NAME BUILD_UNILOG=true BUILD_CUST=$CUST | tee ./gccout/$OUTPUT_NAME/$CORE_NAME/outbuildlog.txt
if [ ${PIPESTATUS[0]} -gt 0 ]
then
failHandle
fi
#this header file will compile with device code
cp -f ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/debug_log_$CORE_NAME.h ./middleware/developed/debug/inc/
if [ $? -ne 0 ]
then
failHandle
fi
if [ -f ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/dbversion.h ]
then
cp -f ./gccout/$OUTPUT_NAME/$CORE_NAME/$PROJECT_NAME/dbversion.h ./middleware/developed/debug/inc/
if [ $? -ne 0 ]
then
failHandle
fi
fi
buildimage