ec718/ec_fullsdk/PLAT/ec718pm_openbuild_ref_1h00.bat

1261 lines
49 KiB
Batchfile
Raw Normal View History

2025-04-10 17:31:33 +08:00
@echo off && setlocal enabledelayedexpansion
@echo %PATH% | findstr /c:"%~dp0tools/msys64/usr/bin">nul
@if %errorlevel% equ 1 set PATH=%~dp0tools/msys64/usr/bin;%PATH%
rem @set PATH=%~dp0tools/msys64/usr/bin;%PATH%
cls
set PROJECT_NAME=phone
set BOARD_NAME=ec7xx_ref_1h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718pm
set CORE_NAME=ap
set EUTRAN_MODE=cat_mode
set BUILD_OPTION=merge
set UNILOG=false
set TOOLCHAIN_NAME=GCC
set CUST=common
set SDKREL=false
set OPENCPU=true
set RAM_ENBALE=false
set ROM_ENBALE=false
set LESS_LOG=false
set LTO_ENABLE=false
set PWR_TEST=false
set BUILD_HEADBIN=false
set GCCLIB_PATH="C:\gcc"
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=audio
set AUDIO_ENABLE=true
set PKG_MAPDEF=pkg_718pm_mapdef
set PKG_PRODUCT="EC718PM_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j8
echo build.bat version 20180330
echo GCCLIB_PATH: %GCCLIB_PATH%
if not %GCCLIB_PATH% == "" (
if not exist %GCCLIB_PATH% (
echo ERROR: Please check GCCLIB_PATH setting, exit!!!
goto end
)
) else (
echo ERROR: Please set GCCLIB_PATH firstly, exit!!!
goto end
)
rem --------- board/project parsing begain------------------
set PARAMETERS=%1
if xx%PARAMETERS%==xx (
echo no input paramter, use default build setting
) else (
echo build option is: %PARAMETERS%
)
set parameterStr=%PARAMETERS%
:parameterSplit
for /f "tokens=1,* delims=-" %%a in ("%parameterStr%") do (
set parameterStr=%%b
echo %%a | findstr /r "j[0-9]*[0-9]\>" > nul
if !errorlevel!==0 (
set JOBNUMBER=%%a
)
if "%%a"=="qcom" (
set CUST=qcom
)
if "%%a"=="ec718_0h00" (
set BOARD_NAME=ec718_0h00
set CHIP_NAME=ec7xx
set OUTPUT_NAME=ec718_0h00_%CHIP_TYPE%
)
if "%%a"=="bootloader" (
set PROJECT_NAME=bootloader
set BUILD_OPTION=no_merge
)
if "%%a"=="ap" (
set CORE_NAME=ap
set BUILD_OPTION=no_merge
)
if "%%a"=="cp" (
set CORE_NAME=cp
set PROJECT_NAME=cp_project
set BUILD_OPTION=no_merge
)
if "%%a"=="pwrTest" (
set PWR_TEST=true
)
if "%%a"=="nb_mode" (
set EUTRAN_MODE=nb_mode
)
if "%%a"=="at_command" (
set PROJECT_NAME=at_command
)
if "%%a"=="socket_example" (
set PROJECT_NAME=socket_example
)
if "%%a"=="mqtt_example" (
set PROJECT_NAME=mqtt_example
)
if "%%a"=="https_example" (
set PROJECT_NAME=https_example
)
if "%%a"=="ssl_example" (
set PROJECT_NAME=ssl_example
)
if "%%a"=="libapi_example" (
set PROJECT_NAME=libapi_example
)
if "%%a"=="pos_example" (
set PROJECT_NAME=pos_example
)
if "%%a"=="tts_example" (
set PROJECT_NAME=tts_example
)
if "%%a"=="audio_example" (
set PROJECT_NAME=audio_example
)
if "%%a"=="lpuart_test" (
set PROJECT_NAME=lpuart_test
)
if "%%a"=="driver_example" (
set PROJECT_NAME=driver_example
set BUILD_OPTION=merge
)
if "%%a"=="dhrystone" (
set PROJECT_NAME=dhrystone
)
if "%%a"=="coremark" (
set PROJECT_NAME=coremark
)
if "%%a"=="slpman_example" (
set PROJECT_NAME=slpman_example
)
if "%%a"=="sleep_example" (
set PROJECT_NAME=sleep_example
)
if "%%a"=="slpPressure_test" (
set PROJECT_NAME=slpPressure_test
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
if "%%a"=="ChipIpTest" (
set PROJECT_NAME=ChipIpTest
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
if "%%a"=="ModemSlpPressure" (
set CORE_NAME=cp
set PROJECT_NAME=ModemSlpPressure
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
if "%%a"=="mcu_example" (
set PROJECT_NAME=mcu_example
)
if "%%a"=="soc_simple" (
set PROJECT_NAME=soc_simple
)
if "%%a"=="soc_bist" (
set PROJECT_NAME=soc_bist
)
if "%%a"=="simo_test" (
set PROJECT_NAME=simo_test
)
if "%%a"=="clk_verify" (
set PROJECT_NAME=clk_verify
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
)
if "%%a"=="fpga_sct_utfw" (
set PROJECT_NAME=fpga_sct_utfw
)
if "%%a"=="spi_2boards" (
set PROJECT_NAME=spi_2boards
)
if "%%a"=="merge" (
set BUILD_OPTION=merge
)
if "%%a"=="sdkrel" (
set SDKREL=true
)
if "%%a"=="lto" (
set LTO_ENABLE=true
)
if "%%a"=="open_cpu" (
set OPENCPU=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
)
if "%%a"=="audio" (
set AUDIO_ENABLE=true
set OPENCPU=true
set CPBIN_SUBPATH=audio
)
if "%%a"=="ims" (
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set OPENCPU=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
)
if "%%a"=="imsfix" (
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set OPENCPU=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set AUDIO_FIX_ENABLE=true
)
if "%%a"=="isms" (
set IMS_SMSONLY_ENABLE=true
set OPENCPU=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\isms"
)
if "%%a"=="socket_demo" (
set PROJECT_NAME=socket_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="http_demo" (
set PROJECT_NAME=http_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="driver_example" (
set PROJECT_NAME=driver_example
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=true
)
if "%%a"=="fs_demo" (
set PROJECT_NAME=fs_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="time_demo" (
set PROJECT_NAME=time_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="volte_demo" (
set PROJECT_NAME=volte_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="watch" (
set PROJECT_NAME=watch
set OPENCPU=true
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set LFS_EX_DEPEND=true
)
if "%%a"=="ref_app" (
set PROJECT_NAME=ref_app
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set LFS_EX_DEPEND=true
)
if "%%a"=="ref_min" (
set PROJECT_NAME=ref_min
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="audio_demo" (
set PROJECT_NAME=audio_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set OPENCPU=true
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="video_demo" (
set PROJECT_NAME=video_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=audio
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="camera_demo" (
set PROJECT_NAME=camera_demo
)
if "%%a"=="drv_demo" (
set PROJECT_NAME=drv_demo
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set LFS_EX_DEPEND=false
)
if "%%a"=="lcd_demo" (
set PROJECT_NAME=lcd_demo
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="alipay_demo" (
set PROJECT_NAME=alipay_demo
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="jpeg_demo" (
set PROJECT_NAME=jpeg_demo
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="slp_demo" (
set PROJECT_NAME=slp_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=false
set AUDIO_ENABLE=false
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="gnss_demo" (
set PROJECT_NAME=gnss_demo
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=false
)
if "%%a"=="ui_test" (
set PROJECT_NAME=ui_test
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set LFS_EX_DEPEND=true
)
if "%%a"=="phone" (
set PROJECT_NAME=phone
set BOARD_NAME=ec7xx_ref_1h00
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set LFS_EX_DEPEND=true
)
if "%%a"=="subsys_test" (
set PROJECT_NAME=subsys_test
set BOARD_NAME=ec7xx_ref_1h00
set OUTPUT_NAME=ec7xx_ref_1h00_%CHIP_TYPE%
set IMS_ENABLE=true
set AUDIO_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ims"
set CPBIN_SUBPATH=audio
set EX_BIN_DEPEND=false
set LFS_EX_DEPEND=true
)
if "%%a"=="verbose" (
set VERBOSE=1
) else (
set VERBOSE=0
)
if "%%a"=="secboot" (
set BUILD_HEADBIN=true
for /f "tokens=1* delims=" %%a in ('type ".\project\%BOARD_NAME%\ap\apps\bootloader\GCC\Makefile"') do (
if "%%a" equ "CONFIG_PROJ_APP_SECURITY_BOOT = n" (
echo CONFIG_PROJ_APP_SECURITY_BOOT=y
) else (
echo %%a
)
)>>temp.txt
type temp.txt | findstr /v ECHO >>temp1.txt
del temp.txt
move temp1.txt ".\project\%BOARD_NAME%\ap\apps\bootloader\GCC\Makefile" >nul
)
)
set DEST_DIR=.\project\%BOARD_NAME%\ap\apps\%PROJECT_NAME%
if "%LFS_EX_DEPEND%"=="true" (
if "%PROJECT_NAME%"=="ref_app" (
REM 删除之前打包已被修改的ex_lfs.bin和merged.bin文件
if exist %DEST_DIR%\lfs\ex_lfs.bin (
del %DEST_DIR%\lfs\ex_lfs.bin
)
if exist %DEST_DIR%\bin\merged.bin (
del %DEST_DIR%\bin\merged.bin
)
REM 复制干净的ex_2m5.lfs到lfs目录并修改命名源文件不动
copy %DEST_DIR%\lfs\ext_lfs_2M5.bin %DEST_DIR%\lfs\ex_lfs.bin
python .\testscript\refapp.py %DEST_DIR%\bin %DEST_DIR%\bin merged
) else if "%PROJECT_NAME%"=="watch" (
if exist testscript\watch.bat (
call .\testscript\watch.bat
)
) else (
REM 调用merge.py脚本合并文件
python .\testscript\package\merge.py .\testscript\package\merge %DEST_DIR%\lfs merged
copy %DEST_DIR%\lfs\ext_lfs_2M5.bin %DEST_DIR%\lfs\ex_lfs.bin
)
)
if not "%parameterStr%"=="" goto parameterSplit
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%
rem duplicate comdblib.txt from 'COMDBLIB_PATH' to '.\tools\'
if exist %COMDBLIB_PATH%\comdblib.txt (
xcopy /f /y %COMDBLIB_PATH%\comdblib.txt .\tools\
)
if "%CUST%"=="qcom" (
rem clear AT ref for qcom
for /f "tokens=1* delims=" %%a in ('type ".\device\target\board\%BOARD_NAME%\ap\%BOARD_NAME%_ap.mk"') do (
if "%%a" equ "PS_AT_REF=y" (
echo PS_AT_REF=n
) else if "%%a" equ "BUILD_AT_REF ?=n" (
echo BUILD_AT_REF=n
) else (
echo %%a
)
)>>temp.txt
type temp.txt | findstr /v ECHO >>temp1.txt
del temp.txt
move temp1.txt ".\device\target\board\%BOARD_NAME%\ap\%BOARD_NAME%_ap.mk" >nul
)
rem --------- if more board/project add here-------------
rem --------- board/project parsing end------------------
echo PARAMETERS: %PARAMETERS% | findstr "help"
if not errorlevel 1 (
echo "=============================================================================================="
echo " "
echo " >> HOW TO BUILD A PROJECT << "
echo " "
echo "=============================================================================================="
echo " "
echo " @FORMAT : Gccbuild.bat [<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 'ec618_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 " doc run doxygen to generate the documents. "
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.bat "
echo " build bootloader, cp, ap images and merge them into a package. "
echo " > Gccbuild.bat ap-at_command "
echo " build ap at_command project only. "
echo " > Gccbuild.bat ap-bootloader "
echo " build bootloader project only. "
echo " > Gccbuild.bat cp "
echo " build cp project only. "
echo " > Gccbuild.bat ap-driver_example-clean "
echo " clean all output files for ap driver_example project. "
echo " "
echo "----------------------- For Customer's SDK Build----------------------------------------------"
echo " > Gccbuild.bat "
echo " build bootloader,ap images, use prebuilt cp image, and merge them into a package. "
echo " > Gccbuild.bat 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.bat clean "
echo " clean all output files for the default project. "
echo " > Gccbuild.bat clall "
echo " clean all output files for every board and project. "
echo " > Gccbuild.bat list "
echo " list all supported boards and supported projects for every board. "
echo " "
echo " > Gccbuild.bat open_cpu "
echo " build 'open cpu' mode images of the default project, and merge them into a package. "
echo " "
echo "**********************************************************************************************"
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "list"
if not errorlevel 1 (
echo ---------------Supported Board------------------------------------
for /d %%i in ("project\*") do (echo %%~nxi )
echo ------------------------------------------------------------------
for /d %%i in ("project\*") do (
set CURRENT_BOARD=%%~nxi
echo *********supported projects for board: !CURRENT_BOARD!*************
for /d %%i in ("project\!CURRENT_BOARD!\ap\apps\*") do (echo ----%%~nxi )
)
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "doc"
if not errorlevel 1 (
pushd doxygen
CALL genDoc.bat %CHIP_NAME%
popd
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "clall"
if not errorlevel 1 (
make.exe -%JOBNUMBER% clean-gccall TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% PROJECT=%PROJECT_NAME% CORE=%CORE_NAME%
echo clean all done ok...
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "clean"
if not errorlevel 1 (
make.exe -%JOBNUMBER% clean-gcc TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% PROJECT=%PROJECT_NAME% CORE=%CORE_NAME%
echo clean done ok...
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "clobj"
if not errorlevel 1 (
@del /s /q .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\*.o
@del /s /q .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\*.a
@del /s /q .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\*.elf
echo clean objs done ok...
goto end
)
echo PARAMETERS: %PARAMETERS% | findstr "allprojects"
if not errorlevel 1 (
if exist .\gccout\%OUTPUT_NAME% (
echo delete %OUTPUT_NAME% folder......
rd .\gccout\%OUTPUT_NAME% /s /q
)
rem step1 build cp if not SDK
if not exist .\tools\comdblib.txt (
echo start logprepass b11
if exist .\tools\UpdateDBPattern.txt (
del /q .\tools\UpdateDBPattern.txt
)
echo > .failed.tmp
(make.exe -%JOBNUMBER% build-unilog TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% PROJECT=cp_project CORE=cp BUILD_UNILOG=true BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\cp\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\cp\cp_project\debug_log_cp.h .\middleware\developed\debug\inc\ || (goto:failHandle)
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\cp\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
)
rem step2 build bootloader no matter SDK or not
echo > .failed.tmp
(make.exe -%JOBNUMBER% gccall TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% EUTRAN_MODE=%EUTRAN_MODE% PROJECT=bootloader CORE=ap BUILD_UNILOG=false BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
echo *********supported projects for board: %BOARD_NAME%*************
for /d %%i in ("project\%BOARD_NAME%\ap\apps\*") do (
set CURRENT_PROJECT=%%~nxi
echo ----!CURRENT_PROJECT!
if "!CURRENT_PROJECT!"=="bootloader" (
echo ignore bootloader when loop all project
) else (
echo 111
if exist .\tools\UpdateDBPattern.txt (
del /q .\tools\UpdateDBPattern.txt
)
if exist .\tools\comdblib.txt (
(make.exe -%JOBNUMBER% build-unilog TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% PROJECT=%%~nxi CORE=ap BUILD_UNILOG=true SDK=true BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
) else (
(make.exe -%JOBNUMBER% build-unilog TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% PROJECT=%%~nxi CORE=ap BUILD_UNILOG=true BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
)
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\ap\%%~nxi\debug_log_ap.h .\middleware\developed\debug\inc\ || (goto:failHandle)
if exist .\gccout\%OUTPUT_NAME%\ap\%%~nxi\dbversion.h (
copy .\gccout\%OUTPUT_NAME%\ap\%%~nxi\dbversion.h .\middleware\developed\debug\inc\ || (goto:failHandle)
)
echo > .failed.tmp
(make.exe -%JOBNUMBER% gccall TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% EUTRAN_MODE=%EUTRAN_MODE% PROJECT=%%~nxi CORE=ap BUILD_UNILOG=true BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
if not exist .\tools\comdblib.txt (
.\tools\fcelf.exe -T -bin .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.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 not errorlevel 0 (
goto failHandle
)
.\tools\fcelf.exe -M -input .\gccout\%OUTPUT_NAME%\ap\bootloader\ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE ^
-input .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.bin -addrname AP_PKGIMG_LNA -flashsize AP_PKGIMG_LIMIT_SIZE ^
-input .\gccout\%OUTPUT_NAME%\cp\cp_project\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\%%~nxi\%%~nxi.binpkg
if not errorlevel 0 (
goto failHandle
)
.\tools\fcelf.exe -m -input .\gccout\%OUTPUT_NAME%\ap\bootloader\ap_bootloader.elf -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE ^
-input .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.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\%%~nxi\%%~nxi.elf
if not errorlevel 0 (
goto failHandle
)
) else (
.\tools\fcelf.exe -T -bin .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.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 not errorlevel 0 (
goto failHandle
)
.\tools\fcelf.exe -M -input .\gccout\%OUTPUT_NAME%\ap\bootloader\ap_bootloader.bin -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE ^
-input .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.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\%%~nxi\%%~nxi.binpkg
if not errorlevel 0 (
goto failHandle
)
.\tools\fcelf.exe -m -input .\gccout\%OUTPUT_NAME%\ap\bootloader\ap_bootloader.elf -addrname BL_PKGIMG_LNA -flashsize BOOTLOADER_PKGIMG_LIMIT_SIZE ^
-input .\gccout\%OUTPUT_NAME%\ap\%%~nxi\ap_%%~nxi.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\%%~nxi\%%~nxi.elf
if not errorlevel 0 (
goto failHandle
)
)
if exist .\tools\UpdateDBPattern.txt (
type .\tools\UpdateDBPattern.txt
)
)
)
goto complete
)
set starttime=%time%
echo Start time: %date% %starttime%
if "%BUILD_OPTION%"=="merge" (
if exist .\tools\comdblib.txt (
echo start logprepass
echo > .failed.tmp
(make.exe -%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 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\%CORE_NAME%\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
if exist .\tools\UpdateDBPattern.txt (
del /q .\tools\UpdateDBPattern.txt
)
make.exe -%JOBNUMBER% build-unilog TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% PROJECT=%PROJECT_NAME% CORE=%CORE_NAME% BUILD_UNILOG=true BUILD_CUST=%CUST% SDK=true
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\debug_log_ap.h .\middleware\developed\debug\inc\ || (goto:failHandle)
if exist .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\dbversion.h (
copy .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\dbversion.h .\middleware\developed\debug\inc\ || (goto:failHandle)
)
echo > .failed.tmp
(make.exe -%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 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
.\tools\fcelf.exe -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 not errorlevel 0 (
goto failHandle
)
if "%BUILD_OPENSDK%"=="true" (
if exist .\testscript\update_opensdk.py (
python .\testscript\update_opensdk.py
) else (
echo "Warning: .\testscript\update_opensdk.py is not exist"
)
)
if "%BUILD_HEADBIN%"=="true" (
echo general headers 1
.\tools\ecsecure.exe 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
.\tools\fcelf.exe -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
) else if "%LFS_EX_DEPEND%"=="true" (
if "%PROJECT_NAME%"=="phone" (
cd testscript
call lfsInUpdateForPhone96k.bat
call lfsExUpdateForPhone.bat
cd ..
.\tools\fcelf.exe -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
) else if "%PROJECT_NAME%"=="ref_app" (
.\tools\fcelf.exe -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
) else if "%PROJECT_NAME%"=="watch" (
.\tools\fcelf.exe -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
) else if "%PROJECT_NAME%"=="jpeg_demo" (
.\tools\fcelf.exe -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
) else if "%PROJECT_NAME%"=="subsys_test" (
.\tools\fcelf.exe -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
) else (
.\tools\fcelf.exe -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
)
) else if "%EX_BIN_DEPEND%"=="true" (
.\tools\fcelf.exe -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
) else (
.\tools\fcelf.exe -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 not errorlevel 0 (
goto failHandle
)
if exist .\tools\UpdateDBPattern.txt (
type .\tools\UpdateDBPattern.txt
)
goto complete
) else (
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\%CORE_NAME%\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
echo start logprepass b22
if exist .\tools\UpdateDBPattern.txt (
del /q .\tools\UpdateDBPattern.txt
)
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\cp\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\cp\cp_project\debug_log_cp.h .\middleware\developed\debug\inc\ || (goto:failHandle)
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\cp\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\debug_log_ap.h .\middleware\developed\debug\inc\ || (goto:failHandle)
if exist .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\dbversion.h (
copy .\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\dbversion.h .\middleware\developed\debug\inc\ || (goto:failHandle)
)
echo > .failed.tmp
(make.exe -%JOBNUMBER% gccall TYPE=%CHIP_TYPE% TARGET=%BOARD_NAME% V=%VERBOSE% EUTRAN_MODE=%EUTRAN_MODE% PROJECT=%PROJECT_NAME% CORE=ap SDK_REL=%SDKREL% BUILD_UNILOG=true BUILD_CUST=%CUST% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\ap\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
.\tools\fcelf.exe -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 not errorlevel 0 (
goto failHandle
)
if "%BUILD_HEADBIN%"=="true" (
echo general headers 2
.\tools\ecsecure.exe APIMAGE=.\gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\ap_%PROJECT_NAME%.bin ^
CPIMAGE=.\gccout\%OUTPUT_NAME%\cp\cp_project\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
.\tools\fcelf.exe -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 .\gccout\%OUTPUT_NAME%\cp\cp_project\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
) else (
.\tools\fcelf.exe -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 .\gccout\%OUTPUT_NAME%\cp\cp_project\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 not errorlevel 0 (
goto failHandle
)
.\tools\fcelf.exe -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 not errorlevel 0 (
goto failHandle
)
if exist .\tools\UpdateDBPattern.txt (
type .\tools\UpdateDBPattern.txt
)
goto complete
)
)
if %PROJECT_NAME%==bootloader goto :buildimage
if %PROJECT_NAME%==driver_example goto :buildimage
set UNILOG=true
echo start logprepass b2
if exist .\tools\UpdateDBPattern.txt (
del /q .\tools\UpdateDBPattern.txt
)
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\%CORE_NAME%\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
rem this header file will compile with device code
copy .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\debug_log_%CORE_NAME%.h .\middleware\developed\debug\inc\ || (goto:failHandle)
if exist .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\dbversion.h (
copy .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\dbversion.h .\middleware\developed\debug\inc\ || (goto:failHandle)
)
echo -----build image----
:buildimage
REM goto end
echo > .failed.tmp
(make.exe -%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% 2>&1 && del .failed.tmp) | tee.exe .\gccout\%OUTPUT_NAME%\%CORE_NAME%\outbuildlog.txt
if exist .failed.tmp (
del .failed.tmp
goto failHandle
)
rem copy log database to output dir after compile successfully
REM cp .\tools\comdb_%CORE_NAME%.txt .\gccout\%OUTPUT_NAME%\%CORE_NAME%\%PROJECT_NAME%\comdb.txt
:complete
set endtime=%time%
echo .
echo End time: %date% %endtime%
set /a h1=%starttime:~0,2%
set /a m1=1%starttime:~3,2%-100
set /a s1=1%starttime:~6,2%-100
set /a h2=%endtime:~0,2%
set /a m2=1%endtime:~3,2%-100
set /a s2=1%endtime:~6,2%-100
if %h2% LSS %h1% set /a h2=%h2%+24
set /a ts1=%h1%*3600+%m1%*60+%s1%
set /a ts2=%h2%*3600+%m2%*60+%s2%
set /a ts=%ts2%-%ts1%
set /a h=%ts%/3600
set /a m=(%ts%-%h%*3600)/60
set /a s=%ts%%%60
echo Built took %h% hours %m% minutes %s% seconds
echo #######################################################################
echo ## ##
echo ## ######## ### ###### ###### ##
echo ## ## ## ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ## ##
echo ## ######## ## ## ###### ###### ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ## ## ##
echo ## ## ## ## ###### ###### ##
echo ## ##
echo #######################################################################
echo build successfully
if %UNILOG%==true (
if exist .\tools\UpdateDBPattern.txt (
type .\tools\UpdateDBPattern.txt
)
)
EXIT /B 0
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
EXIT /B 1
goto:eof