delete useless scripts

This commit is contained in:
huangruiqiao 2025-04-16 11:59:34 +08:00
parent bc88b4c1d0
commit 5d559eb831
23 changed files with 0 additions and 23484 deletions

View File

@ -1,828 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec716e
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 LTO_ENABLE=false
set GCF_ENABLE=false
set RAM_ENBALE=true
set ROM_ENBALE=false
set LESS_LOG=false
set PWR_TEST=false
set BUILD_HEADBIN=false
set GCCLIB_PATH="C:\gcc"
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ram"
set CPBIN_SUBPATH=ram
set PKG_MAPDEF=pkg_716e_mapdef
set PKG_PRODUCT="EC716E_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"=="ec716e_0h00" (
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set OUTPUT_NAME=ec7xx_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=no_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"=="AonDigPressure_test" (
set PROJECT_NAME=AonDigPressure_test
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
set LTO_ENABLE=false
set BUILD_OPTION=merge
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
set LTO_ENABLE=false
)
if "%%a"=="fpga_sct_utfw" (
set PROJECT_NAME=fpga_sct_utfw
)
if "%%a"=="merge" (
set BUILD_OPTION=merge
)
if "%%a"=="sdkrel" (
set SDKREL=true
)
if "%%a"=="lto" (
set LTO_ENABLE=true
)
if "%%a"=="ram" (
set OPENCPU=true
set RAM_ENBALE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ram"
set CPBIN_SUBPATH=ram
)
if "%%a"=="isms" (
set IMS_SMSONLY_ENABLE=true
set OPENCPU=true
set RAM_ENBALE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\isms"
set CPBIN_SUBPATH=ram
)
if "%%a"=="verbose" (
set VERBOSE=1
) else (
set VERBOSE=0
)
)
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(ram) open dev, more ram, AP lib: ram, CP image£ºram "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image£ºram "
echo " isms open_cpu + ims sms, AP lib: isms, CP image£ºram "
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
)
.\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
)
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

View File

@ -1,838 +0,0 @@
#!/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=ec716e
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 LTO_ENABLE=false
export GCF_ENABLE=false
export RAM_ENBALE=true
export ROM_ENABLE=false
export LESS_LOG=false
export PWR_TEST=false
export BUILD_HEADBIN=false
export GCCLIB_PATH="$HOME/gcc"
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ram"
export CPBIN_SUBPATH=ram
export PKG_MAPDEF=pkg_716e_mapdef
export PKG_PRODUCT="EC716E_PRD"
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 'ec716e_0h00')" ]
then
export BOARD_NAME=ec7xx_0h00
export CHIP_NAME=ec7xx
export OUTPUT_NAME=ec7xx_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 'AonDigPressure_test')" ]
then
export PROJECT_NAME=AonDigPressure_test
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
export LTO_ENABLE=true
export BUILD_OPTION=merge
fi
if [ -n "$(echo $param|grep -w 'qspi_test')" ]
then
export PROJECT_NAME=qspi_test
export LTO_ENABLE=false
fi
if [ -n "$(echo $param|grep -w 'fpga_sct_utfw')" ]
then
export PROJECT_NAME=fpga_sct_utfw
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 'ram')" ]
then
export OPENCPU=true
export RAM_ENBALE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ram"
export CPBIN_SUBPATH=ram
fi
if [ -n "$(echo $param|grep -w 'basic')" ]
then
export IMS_SMSONLY_ENABLE=true
export RAM_ENBALE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/isms"
export CPBIN_SUBPATH=ram
fi
if [ -n "$(echo $param|grep -w 'verbose')" ]
then
export VERBOSE=1
else
export VERBOSE=0
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(ram) for open dev, more ram, AP lib: oc, CP image: oc "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image: ram "
echo " isms open_cpu + ims sms, AP lib: isms, CP image: oc "
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
./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
./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
./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 [ -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
./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
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
./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
./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

View File

@ -1,871 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec716s
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 LTO_ENABLE=true
set GCF_ENABLE=false
set RAM_ENBALE=false
set ROM_ENBALE=false
set LESS_LOG=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=oc
set PKG_MAPDEF=pkg_716s_mapdef
set PKG_PRODUCT="EC716S_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j8
set FOTA_SIGN=no_sign
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"=="ec716s_0h00" (
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set OUTPUT_NAME=ec7xx_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
set LTO_ENABLE=false
)
if "%%a"=="driver_example" (
set PROJECT_NAME=driver_example
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
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"=="AonDigPressure_test" (
set PROJECT_NAME=AonDigPressure_test
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=true
)
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
set LTO_ENABLE=true
set BUILD_OPTION=merge
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
set LTO_ENABLE=false
)
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"
set CPBIN_SUBPATH=oc
)
if "%%a"=="ram" (
set OPENCPU=true
set RAM_ENBALE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ram"
set CPBIN_SUBPATH=ram
)
if "%%a"=="basic" (
set GCF_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\gcf"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="mid" (
set MID_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\mid"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="rom" (
set ROM_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom"
set CPBIN_SUBPATH=oc
)
if "%%a"=="lesslog" (
set LESS_LOG=true
if "%ROM_ENABLE%"=="true" (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom_lesslog"
set CPBIN_SUBPATH=rom_lesslog
) else (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc_lesslog"
set CPBIN_SUBPATH=oc
)
)
if "%%a"=="verbose" (
set VERBOSE=1
) else (
set VERBOSE=0
)
if "%%a"=="fota_sign" (
set FOTA_SIGN=fota_sign
)
)
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 cpbin subpath is: %CPBIN_SUBPATH%
echo comdblib path is: %COMDBLIB_PATH%
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(mini) for open dev, more ram, AP lib: oc, CP image: oc "
echo " mid mini + wifi scan/sms AP lib: mid, CP image: wifi "
echo " basic support gcf test(test version), AP lib: gcf, CP image: wifi "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image: ram "
echo " rom mini + remove rndis/socket AP lib: rom, CP image: oc "
echo " rom-lesslog rom + log reducing AP lib: rom_lesslog, CP image: rom_lesslog "
echo " lesslog log reducing AP lib: rom_lesslog, CP image: oc "
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
)
.\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
)
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

View File

@ -1,882 +0,0 @@
#!/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=ec716s
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 LTO_ENABLE=true
export GCF_ENABLE=false
export RAM_ENBALE=false
export ROM_ENABLE=false
export LESS_LOG=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=oc
export PKG_MAPDEF=pkg_716s_mapdef
export PKG_PRODUCT="EC716S_PRD"
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 'ec716s_0h00')" ]
then
export BOARD_NAME=ec7xx_0h00
export CHIP_NAME=ec7xx
export OUTPUT_NAME=ec7xx_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
export LTO_ENABLE=false
fi
if [ -n "$(echo $param|grep -w 'driver_example')" ]
then
export PROJECT_NAME=driver_example
export BUILD_OPTION=no_merge
export LTO_ENABLE=false
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 'AonDigPressure_test')" ]
then
export PROJECT_NAME=AonDigPressure_test
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=true
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
export LTO_ENABLE=true
export BUILD_OPTION=merge
fi
if [ -n "$(echo $param|grep -w 'qspi_test')" ]
then
export PROJECT_NAME=qspi_test
export LTO_ENABLE=false
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"
export CPBIN_SUBPATH=oc
fi
if [ -n "$(echo $param|grep -w 'ram')" ]
then
export OPENCPU=true
export RAM_ENBALE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/ram"
export CPBIN_SUBPATH=ram
fi
if [ -n "$(echo $param|grep -w 'basic')" ]
then
export GCF_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/gcf"
export CPBIN_SUBPATH=wifi
fi
if [ -n "$(echo $param|grep -w 'mid')" ]
then
export MID_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/mid"
export CPBIN_SUBPATH=wifi
fi
if [ -n "$(echo $param|grep -w 'rom')" ]
then
export ROM_ENABLE=true
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/rom"
export CPBIN_SUBPATH=oc
fi
if [ -n "$(echo $param|grep -w 'lesslog')" ]
then
export LESS_LOG=true
if [ "$ROM_ENABLE" == "true" ]
then
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/rom_lesslog"
export CPBIN_SUBPATH=rom_lesslog
else
export COMDBLIB_PATH="./prebuild/PLAT/lib/gcc/$CHIP_TYPE/oc_lesslog"
export CPBIN_SUBPATH=oc
fi
fi
if [ -n "$(echo $param|grep -w 'verbose')" ]
then
export VERBOSE=1
else
export VERBOSE=0
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 is: $CPBIN_SUBPATH
echo comdblib path is: $COMDBLIB_PATH
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(mini) for open dev, more ram, AP lib: oc, CP image: oc "
echo " mid mini + wifi scan/sms AP lib: mid, CP image: wifi "
echo " basic support gcf test(test version), AP lib: gcf, CP image: wifi "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image: ram "
echo " rom mini + remove rndis/socket AP lib: rom, CP image: oc "
echo " rom-lesslog rom + log reducing AP lib: rom_lesslog, CP image:rom_lesslog "
echo " lesslog log reducing AP lib: rom_lesslog, CP image: oc "
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
./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
./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
./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 [ -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
./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
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
./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
./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

View File

@ -1,923 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718hm
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=false
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%\full"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718hm_mapdef
set PKG_PRODUCT="EC718HM_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j4
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=no_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"=="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
)
)
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

View File

@ -1,923 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718p
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=false
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%\full"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718p_mapdef
set PKG_PRODUCT="EC718P_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j4
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"=="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
)
)
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

File diff suppressed because it is too large Load Diff

View File

@ -1,923 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
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=false
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%\full"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718pm_mapdef
set PKG_PRODUCT="EC718PM_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j4
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=no_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"=="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
)
)
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

View File

@ -1,934 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718s
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=true
set PWR_TEST=false
set GCF_ENABLE=false
set BUILD_HEADBIN=false
set GCCLIB_PATH="C:\gcc"
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718s_mapdef
set PKG_PRODUCT="EC718S_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
set LTO_ENABLE=false
)
if "%%a"=="driver_example" (
set PROJECT_NAME=driver_example
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
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=true
)
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
set LTO_ENABLE=false
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
set LTO_ENABLE=false
)
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"
set CPBIN_SUBPATH=oc
)
if "%%a"=="basic" (
set GCF_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\gcf"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="mid" (
set MID_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\mid"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="rom" (
set ROM_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom"
set CPBIN_SUBPATH=oc
)
if "%%a"=="lesslog" (
set LESS_LOG=true
if "%ROM_ENABLE%"=="true" (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom_lesslog"
set CPBIN_SUBPATH=rom_lesslog
) else (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc_lesslog"
set CPBIN_SUBPATH=oc
)
)
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
)
)
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 cpbin subpath is: %CPBIN_SUBPATH%
echo comdblib path is: %COMDBLIB_PATH%
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(mini) for open dev, more ram, AP lib: oc, CP image: oc "
echo " mid mini + wifi scan/sms AP lib: mid, CP image: wifi "
echo " basic support gcf test(test version), AP lib: gcf, CP image: wifi "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image: ram "
echo " rom mini + remove rndis/socket AP lib: rom, CP image: oc "
echo " rom-lesslog rom + log reducing AP lib: rom_lesslog, CP image: rom_lesslog "
echo " lesslog log reducing AP lib: rom_lesslog, CP image: oc "
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

File diff suppressed because it is too large Load Diff

View File

@ -1,934 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718sm
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=true
set PWR_TEST=false
set GCF_ENABLE=false
set BUILD_HEADBIN=false
set GCCLIB_PATH="C:\gcc"
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718sm_mapdef
set PKG_PRODUCT="EC718SM_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
set LTO_ENABLE=false
)
if "%%a"=="driver_example" (
set PROJECT_NAME=driver_example
set BUILD_OPTION=no_merge
set LTO_ENABLE=false
)
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=true
)
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
set LTO_ENABLE=false
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
set LTO_ENABLE=false
)
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"
set CPBIN_SUBPATH=oc
)
if "%%a"=="basic" (
set GCF_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\gcf"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="mid" (
set MID_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\mid"
set CPBIN_SUBPATH=wifi
)
if "%%a"=="rom" (
set ROM_ENABLE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom"
set CPBIN_SUBPATH=oc
)
if "%%a"=="lesslog" (
set LESS_LOG=true
if "%ROM_ENABLE%"=="true" (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\rom_lesslog"
set CPBIN_SUBPATH=rom_lesslog
) else (
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\oc_lesslog"
set CPBIN_SUBPATH=oc
)
)
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
)
)
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 cpbin subpath is: %CPBIN_SUBPATH%
echo comdblib path is: %COMDBLIB_PATH%
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(mini) for open dev, more ram, AP lib: oc, CP image: oc "
echo " mid mini + wifi scan/sms AP lib: mid, CP image: wifi "
echo " basic support gcf test(test version), AP lib: gcf, CP image: wifi "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image: ram "
echo " rom mini + remove rndis/socket AP lib: rom, CP image: oc "
echo " rom-lesslog rom + log reducing AP lib: rom_lesslog, CP image: rom_lesslog "
echo " lesslog log reducing AP lib: rom_lesslog, CP image: oc "
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

View File

@ -1,923 +0,0 @@
@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=at_command
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718u
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=false
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%\full"
set CPBIN_SUBPATH=oc
set PKG_MAPDEF=pkg_718u_mapdef
set PKG_PRODUCT="EC718U_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j4
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=no_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"=="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
)
)
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_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 (
.\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
)
)
:end
goto:eof
:failHandle
echo fail
echo #######################################################################
echo ## ##
echo ## ######## ### #### ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## ## ## ##
echo ## ###### ## ## ## ## ##
echo ## ## ######### ## ## ##
echo ## ## ## ## ## ## ##
echo ## ## ## ## #### ######## ##
echo ## ##
echo #######################################################################
goto:eof

File diff suppressed because it is too large Load Diff

View File

@ -1,853 +0,0 @@
@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=speaker
set BOARD_NAME=ec7xx_speaker_1h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec716e
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 LTO_ENABLE=false
set GCF_ENABLE=false
set RAM_ENBALE=true
set ROM_ENBALE=false
set LESS_LOG=false
set PWR_TEST=false
set BUILD_HEADBIN=false
set GCCLIB_PATH="C:\gcc"
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ram"
set CPBIN_SUBPATH=ram
set AUDIO_ENABLE=true
set PKG_MAPDEF=pkg_716e_mapdef
set PKG_PRODUCT="EC716E_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j8
set EXTERNAL_TTS_LFS=false
set CODEC_TYPE=ES7111
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"=="ec716e_0h00" (
set BOARD_NAME=ec7xx_0h00
set CHIP_NAME=ec7xx
set OUTPUT_NAME=ec7xx_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"=="AonDigPressure_test" (
set PROJECT_NAME=AonDigPressure_test
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
set LTO_ENABLE=false
set BUILD_OPTION=merge
)
if "%%a"=="qspi_test" (
set PROJECT_NAME=qspi_test
set LTO_ENABLE=false
)
if "%%a"=="fpga_sct_utfw" (
set PROJECT_NAME=fpga_sct_utfw
)
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"
set CPBIN_SUBPATH=oc
)
if "%%a"=="ram" (
set OPENCPU=true
set RAM_ENBALE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\ram"
set CPBIN_SUBPATH=ram
)
if "%%a"=="isms" (
set IMS_SMSONLY_ENABLE=true
set OPENCPU=true
set RAM_ENBALE=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\isms"
set CPBIN_SUBPATH=ram
)
if "%%a"=="pwm" (
set CODEC_TYPE=pwm
)
if "%%a"=="7111" (
set CODEC_TYPE=ES7111
)
if "%%a"=="verbose" (
set VERBOSE=1
) else (
set VERBOSE=0
)
)
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(mini) for open dev, more ram, AP lib: oc, CP image£ºoc "
echo " ram open_dev + addtional 100K ram AP lib: ram, CP image£ºram "
echo " isms open_cpu + ims sms, AP lib: isms, CP image£ºoc "
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
)
cd appsdk
call build.bat %CHIP_TYPE%
cd ..
python .\testscript\update_apps_address.py gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\ap_%PROJECT_NAME%.bin
.\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 .\appsdk\gccout\speaker\pack.app -addrname PKGFLXAPP_APP0_LNA -flashsize PKGFLXAPP_APP0_SIZE ^
-input .\testscript\tts.bin -addrname PKGFLXTTS_LNA -flashsize PKGFLXTTS_SIZE ^
-input .\project\%BOARD_NAME%\ap\apps\%PROJECT_NAME%\lfs\lfsin.bin -addrname PKGFLXLFS_LNA -flashsize PKGFLXLFS_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
)
.\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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,928 +0,0 @@
@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=speaker
set BOARD_NAME=ec7xx_speaker_1h00
set CHIP_NAME=ec7xx
set CHIP_TYPE=ec718p
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_718p_mapdef
set PKG_PRODUCT="EC718P_PRD"
set OUTPUT_NAME=%BOARD_NAME%_%CHIP_TYPE%
set JOBNUMBER=j8
set EXTERNAL_TTS_LFS=true
set CODEC_TYPE=ES8311
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"=="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"=="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"=="isms" (
set IMS_SMSONLY_ENABLE=true
set OPENCPU=true
set COMDBLIB_PATH=".\prebuild\PLAT\lib\gcc\%CHIP_TYPE%\isms"
)
if "%%a"=="8311" (
set CODEC_TYPE=ES8311
)
if "%%a"=="pwm" (
set CODEC_TYPE=pwm
)
if "%%a"=="7149" (
set CODEC_TYPE=ES7149
)
if "%%a"=="spiPwm" (
set CODEC_TYPE=spiPwm
)
if "%%a"=="spiCodec" (
set CODEC_TYPE=spiCodec
)
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
)
)
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 "==============================================================================================<3D><>
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<72><74>no ims<6D><73>, AP lib: full, CP image<67><65>oc "
echo " open_cpu for open dev, more ram, AP lib: oc, CP image<67><65>oc "
echo " isms open_cpu + ims sms, AP lib: isms, CP image<67><65>oc "
echo " ims volte feature support, AP lib: ims, CP image<67><65>audio "
echo " audio audio support(e.g. local MP3 play), AP lib: oc, CP image<67><65>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_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 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
) else (
cd appsdk
call build.bat %CHIP_TYPE%
cd ..
python .\testscript\update_apps_address.py gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\ap_%PROJECT_NAME%.bin
.\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 .\appsdk\gccout\speaker\pack.app -addrname PKGFLXAPP_APP0_LNA -flashsize PKGFLXAPP_APP0_SIZE ^
-input .\testscript\tts.bin -addrname EF_IMG_TTS_LNA -flashsize EF_IMG_TTS_SIZE ^
-input .\project\%BOARD_NAME%\ap\apps\%PROJECT_NAME%\lfs\lfsex.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 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 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
) 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

File diff suppressed because it is too large Load Diff

View File

@ -1,955 +0,0 @@
@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=speaker
set BOARD_NAME=ec7xx_speaker_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
set EXTERNAL_TTS_LFS=true
set CODEC_TYPE=ES8311
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"=="8311" (
set CODEC_TYPE=ES8311
)
if "%%a"=="pwm" (
set CODEC_TYPE=pwm
)
if "%%a"=="7149" (
set CODEC_TYPE=ES7149
)
if "%%a"=="spiPwm" (
set CODEC_TYPE=spiPwm
)
if "%%a"=="spiCodec" (
set CODEC_TYPE=spiCodec
)
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
)
)
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_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 (
cd appsdk
call build.bat %CHIP_TYPE%
cd ..
python .\testscript\update_apps_address.py gccout\%OUTPUT_NAME%\ap\%PROJECT_NAME%\ap_%PROJECT_NAME%.bin
.\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 .\appsdk\gccout\speaker\pack.app -addrname PKGFLXAPP_APP0_LNA -flashsize PKGFLXAPP_APP0_SIZE ^
-input .\testscript\tts.bin -addrname EF_IMG_TTS_LNA -flashsize EF_IMG_TTS_SIZE ^
-input .\project\%BOARD_NAME%\ap\apps\%PROJECT_NAME%\lfs\lfsex.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 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff