bootloader DFU 배치 파일

- DFU를 통한 bootloader 반영을 위해 생성
- 현재 nrfutil 버전에서는 App + bootloader를 한 zip 파일에 넣을 수 없어 개별 생성
This commit is contained in:
2026-06-26 17:34:40 +09:00
parent 39cf6068f7
commit 80d7086d09
@@ -0,0 +1,66 @@
@echo off
chcp 437
setlocal EnableExtensions
cd /d "%~dp0"
set "APP_HEX=medithings_bladder_patch_0001.hex"
set "BOOT_HEX=medithings_bladder_patch_bootloader.hex"
set "OUT_APP_ZIP=medithings_bladder_patch_dfu.zip"
set "OUT_BOOT_ZIP=medithings_bladder_patch_bootloader_dfu.zip"
REM Bootloader DFU requires a version greater than the currently installed bootloader_version.
REM cpd/cpd_eraseALL currently install bootloader-version 1, so use 2 for this update.
set "APP_VERSION=1"
set "BOOTLOADER_VERSION=2"
set "HW_VERSION=52"
set "SD_REQ=0x0100"
set "SD_ID=0x0100"
echo [1/4] Copying application HEX...
copy /Y "..\pca10056\s140\arm5_no_packs\_build\nrf52840_xxaa.hex" "%APP_HEX%"
if errorlevel 1 goto fail
echo [2/4] Copying bootloader HEX...
copy /Y "..\..\..\dfu\secure_bootloader\pca10056_s140_ble\arm5_no_packs\_build\nrf52840_xxaa_s140.hex" "%BOOT_HEX%"
if errorlevel 1 goto fail
echo [3/4] Generating application DFU package...
nrfutil pkg generate ^
--application "%APP_HEX%" ^
--application-version %APP_VERSION% ^
--hw-version %HW_VERSION% ^
--sd-req %SD_REQ% ^
--sd-id %SD_ID% ^
--key-file private.key ^
"%OUT_APP_ZIP%"
if errorlevel 1 goto fail
echo [4/4] Generating bootloader DFU package...
nrfutil pkg generate ^
--bootloader "%BOOT_HEX%" ^
--bootloader-version %BOOTLOADER_VERSION% ^
--hw-version %HW_VERSION% ^
--sd-req %SD_REQ% ^
--key-file private.key ^
"%OUT_BOOT_ZIP%"
if errorlevel 1 goto fail
echo.
echo Done:
echo %OUT_APP_ZIP%
echo %OUT_BOOT_ZIP%
echo Bootloader version: %BOOTLOADER_VERSION%
echo.
echo Update order for both app and bootloader changes:
echo 1. Send %OUT_BOOT_ZIP%
echo 2. Power on again if the device powers off
echo 3. Send %OUT_APP_ZIP%
pause
exit /b 0
:fail
echo.
echo ERROR: Failed to generate DFU package(s).
pause
exit /b 1