[SOLVED] Nordic SoftDevice with Segger Linker

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Hi,

    Thank you for your inquiry.
    When using the SEGGER Linker section macros are not needed as the SEGGER Linker offers more flexibility in the linker script itself so you can define symbols, regions etc. all in the script and thus have only one point of edit should things change.
    For reference the Linker manual can be found here:
    How to switch from gnu linker to SEGGER Linker is explained here:

    As a base we recommend using the attached default linker script. You can find it in your Embedded Studio install folder under /samples/SEGGER_Flash.icf

    Now edit the script as follows to accommodate the softdevice section:

    C Source Code

    1. //
    2. // Combined regions per memory type
    3. //
    4. define symbol _SOFTDEVICE_SIZE_ = 0x26000;
    5. define region SOFTDEVICE = [start(FLASH1) size _SOFTDEVICE_SIZE_];
    6. define region FLASH = FLASH1 - SOFTDEVICE;
    7. define symbol _SOFTDEVICE_SIZE_RAM_ = 0x1d70;
    8. define region SOFTDEVICE_RAM = [start(RAM1) size _SOFTDEVICE_SIZE_RAM_];
    9. define region RAM = RAM1 - SOFTDEVICE_RAM;
    10. //define region FLASH = FLASH1;
    11. //define region RAM = RAM1;
    Display All
    Make sure the original defines for FLASH and RAM are commented out as you can see at the bottom, otherwise they will be redefined.

    Other sections might also need to be added. When trying to link the project the linker error messages should indicate the missing sections. How to place the sections is explained in the Linker manual.

    Best regards,
    Please read the forum rules before posting: Forum Rules

    Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.