Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Linker Placement (RAM_START and RAM_SIZE) in SES 3.34: how to modify?

I'm following the Custom BLE Service Example, and using:

  • Segger Embedded Studio Release 3.34a
  • macOS 10.13.4 (aka High Sierra)
  • nRF52 DK (PCA10040, nRF52832)
  • nRF5_SDK_15.0.0_a53641a

I downloaded the git repository verbatim and the project builds without error.  But when I download and run it, it dies inside the function:

main() => peer_manager_init() => pm_init() => pds_init() => fds_init()

with an FDS_ERR_NO_PAGES error.

My guess is that this is because I did not set RAM_START to 0x20002220 and RAM_SIZE to 0xDDE0 in the linker placement file, as instructed by the README file, which says to open Project => Edit Options => Common Configuration and then select Linker => Section Placement Macros.

The problem with that is that, in my case, Edit Options shows only a Code section, not a Linker section.

My questions are therefore:

  • Am I correct that the crash is (probably) because I haven't modified the RAM_START and RAM_SIZE placement macros?
  • If so, how do I modify those values?
Related