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

nRF52840 Overlapping .hex data & Soft Device match error

I am new to the Segger Studio and nRF52840 . (However not a Newbie to Microprocessors)

Off the Bat :- Blinky example works fine...

.....however when I try to get the PWM_driver example I get these errors below in picture.

The example is for "pca10056" which is why I followed the dongle guide below, adjusting predecessor to the nRF52840 and memory macros.

 https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/nrf52840-dongle-programming-tutorial

however when I port across the program .hex file and the Soft Device .hex file ( S140) there is a memory clash. I have also tried S132 (also errors).

If I place just the program .hex and write to device a window pops up asking for a soft device selection !!! It does not matter which I choose (I went through all).

My Questions are :-

  1. Is there a specific soft Device for the nRF52840 ... (I could only find the recommended s140_nrf52_7.2.0_softdevice.hex ) ?
  2. How Can I tell which Soft Device is needed (i.e. from the examples). ?
  3. Can the Soft Device be Merged into code somehow in the Segger Studio ?

Any pointers would be greatly appreciated.

  • Hi,

    I think I've misunderstood your intention. I thought that you wanted to merge the SD and the PWM example together. But you're saying that the programmer app is asking you to flash a softdevice even when the pwm example doesn't use one?

    however when I port across the program .hex file and the Soft Device .hex file ( S140) there is a memory clash. I have also tried S132 (also errors).

     This sentence got me confused. 

  • Thanks for your input's BTW .. it has deepened my understanding of the nRF's playing field .

    Yes indeed the same goes for the temperature example... although it should not need a SoftDevice... this also ask's you with a "PopUp" which SoftDevice you are using!!! . i.e. thats using the nRF Connect to port just the program file across.

    I am using the "latest" SEGGER Embedded Studio for ARM
    Release 5.20a  Build 2020110401.44169 and latest SoftDevices (to date S140 and S132)

    I have had success with the BLE heart rate monitor (talking to my Garmin bike computer) ... as that uses the S140 Soft device, so I am currently checking that against the PWM and the Temparture project... there must be a difference I can ferret out.

    Regards Chip

  • On further checks All examples "NOT" using a SoftDevice are bringing up the same 'which SoftDevice is required'.

    This is on writing the single .hex from the Build to the nRF52840 via nRF Connect 3.6.0 Programmer, every time it asks from a list for a SoftDevice. (see above in original question).

  • Just installed on a new PC

    nRF5_SDK_17.0.2_d674dde -

    nRFCOnnect 3.6.0 -

    Segger  Embedded Studio 5.20a

    (same versions as my main pc).

    and the error is the same.... so I know its not my installations.

    Can it be anything to do with the Bootloader or MBR ?

    Its an original nRF52840 {Dongle}

  • Hi,

    So I've was able to reproduce your issue, and I think I know what the issue is. The nRF Connect programmer expects you to use a softdevice if the application isn't placed at the start of the flash. The application should be placed after the softdevice in flash if a softdevice is used. However, the application should be placed at the start of the flash if a softdevice isn't used. Same goes for the MBR. 

    So, what exactly did you change the memory settings to?

    Also, note that there is already a blinky example for the PCA10059 nRF52840 Dongle that can be flashed without any adjustments. You can find the hex file at examples\peripherals\blinky\hex. Try to flash that example and note the memory settings that is used in that project. You can use that project for later reference.

    regards

    Jared 

Related