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

DFU with NRF52 and Segger Embedded Studio

So having first used Kiel, then Eclipse, it was great to finally ditch my clunky windows laptop with its terribly laid out keyboard by making the transition to Segger Embedded Studio. Super easy to set up, looks great on my very large Mac screen and I can now use a keyboard where I don't have to keep checking where the keys are.

Well done Segger and Nordic for making this available.

Anyway, so I have been happily setting up the solutions and going through some of the tutorials like a hot knife through butter thinking this was a piece of cake, especially compared to the time it took to get my head around Eclipse, I came to a grinding halt with the tutorial for setting up the DFU on the nRF51 DK.

I navigated the first issue regarding changing the Omit Frame Pointer to yes for Bootloader_util.c, which got it compiled ok.

However, the issue I have is with the Section Placement Macros. I am using SD 132 V2.0 and am on the pca10040. I have been scraping the App placement addresses from the armgcc .ld script (anyway, these don't change for the other BLE examples so I almost have it memorised). I thought if I set the script for the flash start to be 0x07A000 (top of the memory layout where the DFU Bootloader resides) that will be putting the Bootloader where it needs to go (I am using fu_single_bank_serial_s132). And if I leave Ram at 0x20002080 then at least I have left space for the SoftDevice. Already my logic is starting to flake.

So instead of battling against something that may prove impossible I thought I would pause and ask some questions that someone might be able to help with:

  1. Is it indeed possible to use SES in flash the SD and the DFU Bootloader in this manner (and ultimately with the App too) or am I barking up the wrong tree?

  2. Depending on 1, of course, what should the Section Placement Macros be?

  3. And, is there anything else I need to be aware of trying to use SES to do this that I have not yet uncovered (bearing in mind I want to introduce an App that will be logging significant data into the equation as well)?

Thank you everyone - RJH

Related