Hi All,
I've had a product (RunScribe) in the market for some time, running on the nRF52832. This was built on the SDK13.1 / and the S332 v4.0.2 SD. All using Keil.
As I'm a Mac person, I decided for the next iteration to move to the SES toolsuite and the latest SDK (17) / SD (S332 V7.0.1) to get away from VmWare/Keil. It's gone surprisingly well/easy!
With one exception.
As before, I started w/ the Secure Bootloader (S132 w/o debug) from SDK17, modified the headers to point to S332 instead of S132.
Then am generating the hex file to flash onto the 52832 at production (combined BL + App + SD).
nrfutil settings generate --family NRF52 --application RunScribe-38.01.hex --application-version 3801 --bootloader-version 6 --bl-settings-version 2 --key-file private.key bl_settings.hex
mergehex -m bl_settings.hex RunScribe-BL-4.0.hex -o bl_w_settings.hex
mergehex -m bl_w_settings.hex ANT_s332_nrf52_7.0.1.hex RunScribe-38.01.hex -o sd_bl_app-38.01.hex
Generated Bootloader DFU settings .hex file and stored it in: bl_settings.hex
Bootloader DFU Settings:
* File: bl_settings.hex
* Family: nRF52
* Start Address: 0x0007F000
* CRC: 0xDFF4D705
* Settings Version: 0x00000002 (2)
* App Version: 0x00000ED9 (3801)
* Bootloader Version: 0x00000006 (6)
* Bank Layout: 0x00000000
* Current Bank: 0x00000000
* Application Size: 0x00039D48 (236872 bytes)
* Application CRC: 0x065FF0FE
* Bank0 Bank Code: 0x00000001
* Softdevice Size: 0x00000000 (0 bytes)
* Boot Validation CRC: 0xA7747F6F
* SD Boot Validation Type: 0x00000000 (0)
* App Boot Validation Type: 0x00000001 (1)
When I flash this, it programs fine, but comes up in bootloader mode. If I transfer an app via nRF Connect / DFU, then all's fine.
I'm wondering what I may have done incorrectly, either in building the secure bootloader example (sdk_config.h, etc)? ... or if I need additional parameters in the nrfutil to correctly authenticate the app?
Thanks!
-Tim