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

Looking for a reason flash might be 0xff's after OTA DFU

Hi, I'm trying to install the BLE buttonless DFU template onto a nRF52 (PCA10040) eval board using the secure bootloader example (with s132, version 12.2 of the SDK) via nRF Toolbox. There's no application there to begin with, but I've specified that in the bootloader settings. The process seems to go correctly (takes about 30 seconds, progress bar moves smoothly) and the toolbox gives a message that upload is complete. After that, I'd expect to find application code in flash starting at 0x1f000, but it's all 0xff's. I'm attaching the output from nrfutil pkg display for the app. Is there some common mistake that would lead to this situation? Thanks very much.pkg.txt

Edit: I ran the debug build of the bootloader and I am seeing what looks like a successful transfer but a bunch of erases after reset and a CRC error. I'm attaching the log. Thanks for any insight! errorlog.txt

Edit 2: As requested, here is the full hex dump and app package file. template5.zip nrf52_hexdump.txt.zip

Edit 3: I tried the process using the example bootloader (secure_dfu_secure_dfu_ble_s132_pca10040_debug.hex) and sample zip file (dfu_test_app_hrm_s132.zip) and got the same failure. For clarity (and because I think I'm still making a simple mistake) here are the steps I took: (1) source bin/activate (2) nrfutil settings generate --family NRF52 --bootloader-version 1 --bl-settings-version 1 blsettings.hex (3) mergehex -m secure_dfu_secure_dfu_ble_s132_pca10040_debug.hex blsettings.hex -o bootloaderpkg.hex (4) nrfjprog --eraseall -f nrf52 (5) nrfjprog --reset --program bootloaderpkg.hex --family NRF52 (6) Turn off eval board and turn back on holding down button 4 (7) Start up JLinkExe and JlinkRTTClient for logging purposes (8) transfer dfu_test_app_hrm_s132.zip from iPhone using nrf toolbox. When I do that, I get this log exampleprogramlog.txt

Parents
  • Hi Tom,

    I don't know why you need step 2, generating the bootloader setting ? It's not in the instruction in the doc. You only genrate the bootloader setting and merge it when you want to merge the application and flash the application with the bootloader at the same time.

    To test with the stock .zip in the SDK, please simply:

    • Compile the debug bootloader

    • Flash the softdevice and then the bootloader

    • Check if the bootloader advertising, then do DFU update from nRFToolbox or NRFConnect

Reply
  • Hi Tom,

    I don't know why you need step 2, generating the bootloader setting ? It's not in the instruction in the doc. You only genrate the bootloader setting and merge it when you want to merge the application and flash the application with the bootloader at the same time.

    To test with the stock .zip in the SDK, please simply:

    • Compile the debug bootloader

    • Flash the softdevice and then the bootloader

    • Check if the bootloader advertising, then do DFU update from nRFToolbox or NRFConnect

Children
No Data
Related