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

S140 RAM allocation running ble_app_uart example

Hi All,

I'm busy exploring the ble_peripheral_uart example and ran into a couple of issues I don't fully understand. Upon flashing the S140 SoftDevice and application program to the nRF52840, the following is observed:
1.) The advertising LED blinks and connects the peripheral to the app (master).
2.) It seems the program running on the nRF52840 hangs because UART Start! does not appear in the serial monitor.
3.) After a minute or so I get the following warnings and then the program crashes.

image description

The values in the linker scripts are unchanged and shown below:

Under nRF5_SDK_14.0.0_3bcc1f7\components\toolchain\gcc the linker file memory is setup as:

FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x100000
RAM (rwx) :  ORIGIN = 0x20000000, LENGTH = 0x40000

Under nRF5_SDK_14.0.0_3bcc1f7\examples\ble_peripheral\ble_app_uart\pca10056\s140\armgcc the linker file memory is setup as:

FLASH (rx) : ORIGIN = 0x22000, LENGTH = 0xde000
RAM (rwx) :  ORIGIN = 0x20002a18, LENGTH = 0x3d5e8

After entering the proposed values in the linker script for the application, a fatal error is again displayed in RTT viewer after flashing and running the program. I'm thinking that this has something to with the RAM management of the S140 for this particular example?

This question has probably been asked many times but I couldn't find anything to help me out. Any suggestions will be greatly be appreciated. I'm using the nRF5_SDK_14.0.0_3bcc1f7 SDK which in turn uses the s140_nrf52840_5.0.0-2.alpha_softdevice to flash the SoftDevice.

Note: I have no issues running the ble_app_hrs example.

Related