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

Soft device 7.2.0 Flash and RAM configuration

Hi

I am updating from Softdevice 6.1.1 to 7.2.0 and have issues with nrf_sdh_ble_enable(..), My setup is:

  • NRF52840
  • SDK 17.0.2
  • SoftDevice 7.2.0
  • Running FreeRtos
  • GCC compiler using linker script

What I did:

  • I updated the linker script as below

MEMORY
{
FLASH (rx) : ORIGIN = 0x27000, LENGTH = 0xD9000
RAM (rwx) : ORIGIN = 0x200016FC, LENGTH = 0x38000
}

  • The Flash values I'm sure are OK for Soft Device 7.2.0?
  • The RAM Origin was obtained by booting the device and calling nrf_sdh_ble_default_cfg_set
  • The RAM size is 256K - the value in the soft device release note (5.6K) plus a bit more

What is happening

  • I boot the device but get an error when I run the following sequence:

uint32_t ram_start = 0;
err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start); << Returns NRF_SUCCESS (0)

//Note this returns 0=Success
//NOTE! ram_start = 536888912

nrf_sdh_ble_enable(&ram_start); << RETURNS NRF_ERROR_NO_MEM (4)

Any Ideas? 

Parents Reply
  • Hello,

    Sorry for the delayed response. The linker script looks to be correct now, but I'm not sure why the vApplicationStackOverflowHook() becomes invoked. Have you tried to increases the stack sizes in all of your Freertos tasks? I would also try to increase the stack for the Softdevice task (NRF_BLE_FREERTOS_SDH_TASK_STACK). It's only 256 bytes by default, which may be a bit low depending on the application.

Children
Related