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

Programming nRF52 SoftDevice using Keil uLink

I didn't find any documentation on how to program nRF52 (specifically, nRF52832, nRF52810) using Keil uLink instead of SeggerJLink.

(specifically, I am using a ULINKplus)

This came close, but is nRF51 - and doesn't (quite) do it for nRF52.

The following procedure seems to work - any comments/corrections?

  1. Open a suitable uVision example project for the required SoftDevice, and Select the SoftDevice download target - as described here.
  2. In the uVision Project Properties, on the 'Debug' tab, select the uLink as the debugger to use
  3. In the debugger settings, on the 'Debug' tab, ensure:
    1. 'SWJ' is not checked
    2. 'Port' is set to 'SW'
  4. on the 'Flash Download' tab:
    1. Add the 'nRF52xxx UICR' algorithm
    2. Add the 'nRF52xxx SoftDevice Erase' algorithm
    3. In 'RAM for Algorithm', set 'Size' to 0x2000
    4. select 'Erase Full Chip'
  5. 'OK' out of the dialogues

I think the counter-intuitive one here is having to select  'nRF52xxx SoftDevice Erase' as the algorithm - because I don't want to erase it - I want to program it!

Also, why does all this have to be set up manually?