This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Combined BL + APP + SD hex for production programming

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

Parents Reply Children
No Data
Related