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

Migrating to SDK17.0.2 gives Memory issue in NRF52840 development kit.

Hi,

 I am migrating my project from SDK15 to SDK 17.0.2. I am using NRF52840 development kit and using s140 softdevice for bluetooth services. When I load the softdevice hex file and later load the Firmware hex file, I am getting memory error as follows:- 

<warning> nrf_sdh_ble: Insufficient RAM allocated for the SoftDevice.
<warning> nrf_sdh_ble: Change the RAM start location from 0x20002220 to 0x20002B 88.
<warning> nrf_sdh_ble: Maximum RAM size for application is 0x3D478.
<error> nrf_sdh_ble: sd_ble_enable() returned NRF_ERROR_NO_MEM.
<error> app: ERROR 4 [NRF_ERROR_NO_MEM] at ..//ble/ble_app.c:369

How to solve this error??

The code was working fine with sdk15 version. My linker file has this configuration..

MEMORY
{
FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0x5a000
RAM (rwx) : ORIGIN = 0x20002220, LENGTH = 0xDDE0
}

  • Hi Karl,

               I have solved the issue Karl :D 

    I adjusted the memory config and did some changes in sdk_config.h. I guess the problem was solved in step 3,4 but because of wrong configuration in sdk_config.h, logs were not seen on RTT viewer.

    This is my memory configuration:-

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

    Though i dont understand what was blocking the logs.

  • sne_333 said:
    I have solved the issue Karl :D 

    Fantastic, I am happy to hear that Snehal :D 
    Well done!

    sne_333 said:
    I guess the problem was solved in step 3,4 but because of wrong configuration in sdk_config.h, logs were not seen on RTT viewer.
    sne_333 said:
    Though i dont understand what was blocking the logs.

    Did you do the disabling of logger UART backend, like I suggested in my previous comment? 

    sne_333 said:

    This is my memory configuration:-

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

    Thank you for sharing what the final memory configuration should be.

    Best regards,
    Karl 

Related