diff --git a/project/ble_peripheral/ble_app_bladder_patch/download/generate_dfu_zip_with_bootloader.bat b/project/ble_peripheral/ble_app_bladder_patch/download/generate_dfu_zip_with_bootloader.bat new file mode 100644 index 0000000..22fdcdd --- /dev/null +++ b/project/ble_peripheral/ble_app_bladder_patch/download/generate_dfu_zip_with_bootloader.bat @@ -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 \ No newline at end of file