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

Unable to load Softdevice on custom board

I developed a custom board with nRF51822_xxAA on it, working on low voltage mode.

I can program some basic things on it using Keil uVision 5.15 and a J-link to flash the code. Everything works fine, as I can debug in Keil and see the value of my variables.

At this stage, here are my IROM and IRAM settings in Keil IROM : Start 0x0 - Size 0x40000 IRAM : Start 0x2000000 - Size 0x4000

Now, I'd like to make BLE advertising example work on my board. So I need Softdevice S110 on it. I got S110 v8.0.0 on Nordic website. Next step is to flash it on my board & adjust project settings in Keil (I mean IROM and IRAM).

1/ Flash Softdevice S110 v8.0.0 Between my board and Jlink, there is a custom voltage adapter (5.0V -> 1.8V). Problem: with 1.8V read by Jlink, neither nRFGo Studio, nore nrfjprog command seem to work to flash my board.

Is there any other software solutions to flash Softdevice on my board? I mean, it must exist. Otherwise, I won't be able to load some code in my board and debug it as previously checked... Tell me if I am wrong!

2/Adjust project settings in Keil In s110_nRF51 migration document, new version of SoftDevice (8.0.0) is said to be 96 kB, including MBR. Documentation suggests following settings: IROM : Start 0x18000 - Size 0x28000 (for the 256 kB variant) IRAM : Start 0x2002000 - Size 0x2000

My questions are related to MBR. Is it included directly in S110 hex file? Is it necessary? Yes -> How to install it? No -> In this case, what are the needed settings for IROM and IRAM?

Parents
    1. You can use JLink.exe directly which is a segger tool. It identifies nordic chips and you can find more information here and here
  • Thank you Aryan!

    I tried to get SoftDevice through JLink but I'm still having some issues

    First, I converted SoftDeviceV8.0 Hex file to a bin file through an 'arm-none-eabi-objcopy' command (gcc version: gcc-arm-none-eabi-49). That gives me a .bin file (size around 90 kb).

    Then, after having erased my flash, I downloaded the created bin file to my card through Jlink at address 0x0 (loadbin softdevice.bin 0).

    Then with my IDE (Keil), I download my code at address 0x18000. I started the card and nothing happened...

    I tried download my code at address 0x0 with Keil (after another flash erasing) and my code worked well (I mean this part of code does not use Soft Device).

    OK. Flash erasing and then I converted hex associated to my code to a bin and flashed my card with it at address 0. Nothing happened...

    2 options:

    • my bins got problems
    • something bad happened during flash download
Reply
  • Thank you Aryan!

    I tried to get SoftDevice through JLink but I'm still having some issues

    First, I converted SoftDeviceV8.0 Hex file to a bin file through an 'arm-none-eabi-objcopy' command (gcc version: gcc-arm-none-eabi-49). That gives me a .bin file (size around 90 kb).

    Then, after having erased my flash, I downloaded the created bin file to my card through Jlink at address 0x0 (loadbin softdevice.bin 0).

    Then with my IDE (Keil), I download my code at address 0x18000. I started the card and nothing happened...

    I tried download my code at address 0x0 with Keil (after another flash erasing) and my code worked well (I mean this part of code does not use Soft Device).

    OK. Flash erasing and then I converted hex associated to my code to a bin and flashed my card with it at address 0. Nothing happened...

    2 options:

    • my bins got problems
    • something bad happened during flash download
Children
No Data
Related