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

SDK 14: issue with secure buttonless DFU

I was trying to verify the DFU functionality on SDK 14 on nRF52832. Here is what I did.

1. Using nRFgo to erase all
2. Program bootloader/soft device with C:\svn\nordic\nRF5_SDK_14.0.0_3bcc1f7\trunk\examples\dfu\secure_dfu_test_images\ble\nrf52832\softdevice_bootloader_secure_ble_debug_without_bonds_s132.hex
3. Program application with C:\svn\nordic\nRF5_SDK_14.0.0_3bcc1f7\trunk\examples\dfu\secure_dfu_test_images\ble\nrf52832\ble_app_buttonless_dfu_without_bonds_s132_with_setting_page.hex

The COM port shows: nrf_sdh_ble: RAM start should be adjusted to 0x200020F0. nrf_sdh_ble: RAM size should be adjusted to 0xDF10.

Even though the DFU function works fine, I want to get rid of the warning messages by rebuilding it with no debug. So did following:

  1. I generated new key, and rebuilt bootloader_secure_ble. Made zip file using nrfutil with new key.
  2. Made zip file for softdevice 5.0 using nrfutil with new key.
  3. Rebuilt ble_app_buttonless_dfu with log disabled using Keil (so that file size < 32k), made zip file using nrfutil with new key.

Updated all three using DFU, but the app does not run, LED3 keeps blinking. So I built another app ble_app_att_mtu_throughput and zip using same procedure. After DFU, the ble_app_att_mtu_throughput runs ok. So some thing is wrong with the buttonless app. To enable logging to see what's wrong, I tried to use armgcc to build it but got following error.

Compiling file: ble_dfu_unbonded.c

C:\Users\rbai\AppData\Local\Temp\cc9pfmTm.s: Assembler messages:
C:\Users\rbai\AppData\Local\Temp\cc9pfmTm.s:64: Error: cannot honor width suffix
 -- `ldr.w r12,=#3'
make: *** [_build/nrf52832_xxaa/ble_dfu_unbonded.c.o] Error 1

I am using 5.3.1 arm-none-eabi-gcc.exe. Please help to make the buttonless app work with my own key. Thanks.

Related