You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

82 lines
2.5 KiB

@echo off
@REM 编译app
call scripter\keil_build.bat app\app.uvprojx app\_build\app.hex
@REM 检查是否编译成功
if not exist app\_build\app.hex (
echo 编译app失败
exit /b 1
)
@REM 拷贝app.hex 到 output\
copy /y app\_build\app.hex output\app.hex
@REM 制作setting page
echo ---------------------------------------------------------------
echo - generate settings.hex
echo ---------------------------------------------------------------
scripter\nrfutil settings generate ^
--family NRF52 ^
--application output/app.hex ^
--application-version 1 ^
--bootloader-version 1 ^
--bl-settings-version 2 output/settings.hex
echo ---------------------------------------------------------------
echo - done
echo ---------------------------------------------------------------
@REM 制作远程升级镜像
scripter\nrfutil pkg generate ^
--application output\app.hex ^
--application-version 1 ^
--hw-version 52 ^
--sd-req 0x0100 ^
--key-file pemkey\priv.pem output\app.zip
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 制作升级包失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
@REM 打包整体镜像
mergehex --merge res/bootloader.hex output/settings.hex --output output/bl_temp.hex
mergehex --merge output/bl_temp.hex output/app.hex res/s140_nrf52_7.2.0_softdevice.hex --output output/app_whole.hex
del output\bl_temp.hex
del output\settings.hex
del output\app.hex
@REM 烧录整体镜像
nrfjprog --eraseall -f NRF52 %全擦除%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 擦除失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --program app_whole.hex --verify -f NRF52 %烧录%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 烧录失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
nrfjprog --reset -f NRF52 %复位%
if %errorlevel% neq 0 (
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
echo E 复位失败 E
echo EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
exit /b 1
)
echo ---------------------------------------------------------------
echo - done
echo ---------------------------------------------------------------