ec718/ec_fullsdk/PLAT/ec718p_openbuild_ref_1h00.sh

1204 lines
48 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=phone
export BOARD_NAME=ec7xx_ref_1h00
export CHIP_NAME=ec7xx
export CHIP_TYPE=ec718p
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=true
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/oc"
export CPBIN_SUBPATH=audio
export AUDIO_ENABLE=true
export PKG_MAPDEF=pkg_718p_mapdef
export PKG_PRODUCT="EC718P_PRD"
export OUTPUT_NAME=$BOARD_NAME"_"$CHIP_TYPE
export JOBNUMBER=j8
export PKG_EX=false
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
#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 '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 'at_command')" ]
then
export PROJECT_NAME=at_command
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/full"
export BUILD_OPENSDK=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'socket_demo')" ]
then
export PROJECT_NAME=socket_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'http_demo')" ]
then
export PROJECT_NAME=http_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'driver_example')" ]
then
export PROJECT_NAME=driver_example
export BUILD_OPTION=no_merge
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export LFS_EX_DEPEND=false
export PKG_EX=false
fi
if [ -n "$(echo $param|grep -w 'fs_demo')" ]
then
export PROJECT_NAME=fs_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'time_demo')" ]
then
export PROJECT_NAME=time_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'volte_demo')" ]
then
export PROJECT_NAME=volte_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=true
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 IMS_ENABLE=false
export AUDIO_ENABLE=true
export OPENCPU=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=audio
export LFS_EX_DEPEND=true
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
export LFS_EX_DEPEND=true
export EVB_MINIDKB_1V1=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 'watch')" ]
then
export PROJECT_NAME=watch
export OPENCPU=true
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'ref_app')" ]
then
export PROJECT_NAME=ref_app
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'ref_min')" ]
then
export PROJECT_NAME=ref_min
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export LFS_EX_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'audio_demo')" ]
then
export PROJECT_NAME=audio_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=audio
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'video_demo')" ]
then
export PROJECT_NAME=video_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=audio
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'camera_demo')" ]
then
export PROJECT_NAME=camera_demo
fi
if [ -n "$(echo $param|grep -w 'drv_demo')" ]
then
export PROJECT_NAME=drv_demo
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'lcd_demo')" ]
then
export PROJECT_NAME=lcd_demo
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'jpeg_demo')" ]
then
export PROJECT_NAME=jpeg_demo
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'slp_demo')" ]
then
export PROJECT_NAME=slp_demo
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=false
export AUDIO_ENABLE=false
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc"
export CPBIN_SUBPATH=oc
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=false
fi
if [ -n "$(echo $param|grep -w 'ui_test')" ]
then
export PROJECT_NAME=ui_test
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'phone')" ]
then
export PROJECT_NAME=phone
export BOARD_NAME=ec7xx_ref_1h00
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export LFS_EX_DEPEND=true
fi
if [ -n "$(echo $param|grep -w 'subsys_test')" ]
then
export PROJECT_NAME=subsys_test
export BOARD_NAME=ec7xx_ref_1h00
export OUTPUT_NAME=ec7xx_ref_1h00_$CHIP_TYPE
export IMS_ENABLE=true
export AUDIO_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ims"
export CPBIN_SUBPATH=audio
export EX_BIN_DEPEND=false
export LFS_EX_DEPEND=true
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
sed -i 's/CONFIG_PROJ_APP_SECURITY_BOOT = n/CONFIG_PROJ_APP_SECURITY_BOOT = y/g' "./project/$BOARD_NAME/ap/apps/bootloader/GCC/Makefile"
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
export DEST_DIR="./project/$BOARD_NAME/ap/apps/$PROJECT_NAME"
if [ "$LFS_EX_DEPEND" == "true" ]
then
if [ "$PROJECT_NAME" == "ref_app" ]
then
if [ -e "$DEST_DIR/lfs/ex_lfs.bin" ]; then
rm -f $DEST_DIR/lfs/ex_lfs.bin
fi
if [ -e "$DEST_DIR/bin/merged.bin" ]; then
rm -f $DEST_DIR/bin/merged.bin
fi
cp -p -rf $DEST_DIR/lfs/ext_lfs_2M5.bin $DEST_DIR/lfs/ex_lfs.bin
python ./testscript/refapp.py $DEST_DIR/bin/ $DEST_DIR/bin merged
elif [ "$PROJECT_NAME" == "watch" ]
then
if [ -f "./testscript/watch.sh" ]; then
source ./testscript/watch.sh
else
echo "watch.sh not found. Skipping watch.sh."
fi
else
python ./testscript/package/merge.py ./testscript/package/merge $DEST_DIR/lfs merged
cp -p -rf $DEST_DIR/lfs/ext_lfs_2M5.bin $DEST_DIR/lfs/ex_lfs.bin
fi
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<72>ꡧno ims<6D><73>?, AP lib: full, CP image<67><65>ooc "
echo " open_cpu for open dev, more ram, AP lib: oc, CP image<67><65>ooc "
echo " isms open_cpu + ims sms, AP lib: isms, CP image<67><65>ooc "
echo " ims volte feature support, AP lib: ims, CP image<67><65>oaudio "
echo " audio audio support(e.g. local MP3 play), AP lib: oc, CP image<67><65>oaudio "
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 0
}
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_OPENSDK" == "true" ]
then
if [ -e ./testscript/update_opensdk.py ]
then
python ./testscript/update_opensdk.py
else
echo "Warning: .\testscript\update_opensdk.py is not exist"
fi
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 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
elif [ "$LFS_EX_DEPEND" == "true" ]
then
if [ "$PROJECT_NAME" == "phone" ]
then
source ./testscript/lfsInUpdateForPhone96k.sh
source ./testscript/lfsExUpdateForPhone.sh
./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 ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/merged.bin -addrname EF_IMG_GUI_FONT_LNA -flashsize EF_IMG_GUI_FONT_SIZE \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/ext_lfs_2M5.bin -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_SIZE \
-input ./testscript/lfsInDefaultForPhone96k.bin -addrname PKGFLXRAW0_LFS_LNA -flashsize PKGFLXRAW0_LFS_SIZE \
-input ./testscript/package/logo.bin -addrname PKGFLXRAW1_LOGO_LNA -flashsize PKGFLXRAW1_LOGO_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
elif [ "$PROJECT_NAME" == "ref_app" ]
then
./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 ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/bin/merged.bin -addrname EF_IMG_GUI_FONT_LNA -flashsize EF_IMG_GUI_FONT_SIZE \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/ex_lfs.bin -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_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
elif [ "$PROJECT_NAME" == "watch" ]
then
./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 ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/bin/merged.bin -addrname EF_IMG_GUI_FONT_LNA -flashsize EF_IMG_GUI_FONT_SIZE \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/ex_lfs.bin -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_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
elif [ "$PROJECT_NAME" == "jpeg_demo" ]
then
./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 ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/ex_lfs.bin -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_SIZE \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/image3.jpeg -addrname PKGFLXRAW1_LOGO_LNA -flashsize PKGFLXRAW1_LOGO_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
elif [ "$PROJECT_NAME" == "subsys_test" ]
then
./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 ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/subsys_test_2M5.fs -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_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 \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/merged.bin -addrname EF_IMG_GUI_FONT_LNA -flashsize EF_IMG_GUI_FONT_SIZE \
-input ./project/$BOARD_NAME/ap/apps/$PROJECT_NAME/lfs/ex_lfs.bin -addrname EF_IMG_LFS_LNA -flashsize EF_IMG_LFS_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
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 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 ./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