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

Secure DFU bootloader: application not starting

Hello,

I have a problem with secure bootloader. what I did:

  1. Flash SoftDevice 130 using nRFgo Studio.
  2. Compiling \examples\dfu\bootloader_secure\ (i removed the error regarding the key).
  3. Flashing the bootloader with Keil (using nrfjprog.exe for flashing).

Unfortunately, the bootloader seems not to run. There is no advertisement "DfuTarg". When I compile the buttonless dfu example and flash it with Keil, there is still no response. So the bootloader does not start the application. There are no debug messages over UART either.

However, when I flash the precompiled debug version (secure_dfu_secure_dfu_ble_s130_pca10028_debug.hex), the bootloader is advertising as "DfuTarg". When I load an application (using Keil or DFU with nrfConnect´), it does not leave the bootloader mode.

Can you tell me whats wrong?

Thank you!

Edit: I use SD130 on nRF51

Parents
  • Hi,

    The bootloader was made so that you would need to program the application via DFU bootloader to make it start.

    If you don't want to use the DFU bootloader to upload your first application, and prefer to use the programmer instead, you need to alter the bootloader setting in flash to tell the bootloader to start the application. You can generate a bootloader setting hex file then write it to flash to do that. Please have a look here.

  • I got it working now. There was a problem with my hardware abstraction, so there was always a dfu request. the application starts now. However, when I flash the buttonless example (SDK 12.2.0), there is a "Experimental Buttonless DFU Service" with a characteristic "Experimental Buttonless DFU". But there is no control point I can write to to start the bootloader. This control point does not appear when I use "enable services". Whats wrong now? I am so close to my goal :)

Reply
  • I got it working now. There was a problem with my hardware abstraction, so there was always a dfu request. the application starts now. However, when I flash the buttonless example (SDK 12.2.0), there is a "Experimental Buttonless DFU Service" with a characteristic "Experimental Buttonless DFU". But there is no control point I can write to to start the bootloader. This control point does not appear when I use "enable services". Whats wrong now? I am so close to my goal :)

Children
No Data
Related