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

DFU dongle no advertising

Hi all,

I tried to load the DFU example for nrf51822 from SDK12.3 on the dongle(PCA10000). softdevice: S130 2.0.1

I followed the tutorial on: devzone.nordicsemi.com/.../

When the bootloader.hex is flashed nothing happens. after changing the iram from 0x20002C00 to 0x20002000 the blue led turns on after flashing, but I wont find DFUTarg.

Other examples work just fine(ble_uart/blinky/etc). The precompiled bootloaders from github.com/.../dfu does advertise DFUTarg.

So what is wrong with my compiled bootloader?

I know there are alot of questions about DFU already but none of them seems to fix my problem, also most of them are for SDK 8&9

Kind regards, Niels

  • We still write the start address of the bootloader inside nrf_bootloader_info.c

    Please use the start RAM address at 0x20002C00 size 5380. The start address of RAM varies base on the configuration of the application to the softdevice when enabling it. I suggest to do a full erase of the chip before testing. You are testing with just the bootloader and softdevice, no application(buttonless), correct ?

  • I erase everything before I retry. When putting the RAM address at 0x20002C00 with size 5380, nothing happens and it gets stuck in the hardfault handler. When debugging it doesnt even reach the first "{" of the main loop.

    So this is with the nRF5_SDK_12.3.0_d7731ad bootloader secure example. With the softdevice s130 included in the SDK. No other application than the softdevice and bootloader flashed to it.

    When debugging this configuration it starts at 0x6D0 (after reset). This is the start at system_nrf51.c:SystemInit() Then when it get to the end bracket "}" of SystemInit it gets stuck in the following loop:

    1. 0x00 - 0xC6
    2. 0x6A8 - 0x6AA
    3. 0x6BC - 0x6C0
    4. 0x6AE
    5. 0x0CA - 0x0CE
  • Redid the complete process: download sdk. Change makefile.windows, for the right place/version of the GNU tools.

    Generate private key. Generate public key. Overwrite public key.c.

    Download uECC lib. Compile for nrf51_keil. Compile project.

    Flash softdevice, flash bootloader.... annnndddd nothing. Flashed with nRFgo Studio and with flash function within uVision.

    //edit I made a mistake, I thought I read in the datasheet of the devkit that the dongle contained a AC variant. But it contains an AA. so there was the problem. changed the IRAM from 0x20002C000 to 0x2002B000, and size to 1500. 1400 was 14 bytes too small.

    thanks for the help

Related