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

Using the NRF51-DK as external programmer

Hi,

I do have a NRF51-DK and want to use it as a external programmer. I connected it to the OUTPUT Port which worked fine, then I flashed the mbed firmware on it because it was a mess getting it to work on mac. After that, I couldn't program my external device, just the one on the Board. So I cut SB9 to disconnect the onboard MCU. All I get now is a SWD error since it can't recognize the device.

It worked fine on the old green NRF51822 DK though.

Any suggestions?

Parents
  • Hi.

    When you flash the mBed firmware to the segger, the board will no longer work as a JLINK programmer. You must flash the JLINK firmware first, which replaces the mBed firmware. You do this by holding down the RESET button while powering on the board. It should mount on your computer as "BOOTLOADER". Drag and drop the JLINK firmware on the BOOTLOADER drive. Wait a couple of seconds, and then power cycle the board.

    EDIT: The debug out port does NOT work when mBed firmware is loaded. The mBEd firmware does not check for external devices, it only flashes the hex file to the on board nRF chip.

    You must use the JLINK firmware for this. Even though JLINK firmware is loaded, you can flash hex-files generated from the mBed online compiler to the external card.

  • Thank you for the confirmation. I'm using JLINK firmware for now.

    Background: I am using pyOCD to flash the firmware while preserving unchanged flash blocks because copy-pasting erases the entire flash (in both mbed and Jlink modes). My app stores some calibration data on flash using pstorage, so I must preserve it. pyOCD only works for mbed-enabled boards. I cannot use Jlink because we develop on Mac and Segger tools are unreliable.

    I am not using MBED online IDE at all, we do offline development.

Reply
  • Thank you for the confirmation. I'm using JLINK firmware for now.

    Background: I am using pyOCD to flash the firmware while preserving unchanged flash blocks because copy-pasting erases the entire flash (in both mbed and Jlink modes). My app stores some calibration data on flash using pstorage, so I must preserve it. pyOCD only works for mbed-enabled boards. I cannot use Jlink because we develop on Mac and Segger tools are unreliable.

    I am not using MBED online IDE at all, we do offline development.

Children
No Data
Related