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

NRF_ERROR_NO_MEM - Adding custom service and characteristics. RAM start address increases indefinitely

Hello,

I want to add another custom BLE service (custom 128 bit UUID) including its 4 characteristics (no separate 128 bit UUID / 20 byte characteristic value length), but I always get the "ERROR 4 [NRF_ERROR_NO_MEM]" error in the RTT console. The characteristic value shall be added to stack memory area, not in user memory space.

Here is what I have tried:

- Increasing NRF_SDH_BLE_VS_UUID_COUNT to 20 (15 or lower was sufficient before I added this new service)

- Increasing NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE from 900 to 2000 (900 was sufficient before I added this new service)

- Tried to add the last service again to check if I did any mistake creating my new service - but same problem persists. Also tried adding only my new service and disabling the others, this works. So there is no bug in my code.

- Increasing Application RAM start from 0x20004000 to 0x20007000

- Reducing Application RAM start to 0x20003000 to force the RTT debug output to tell me, which size is the correct RAM start address, but did not help

- Adding breakpoint in "nrf_sdh_ble.c" to "ret_code_t ret_code = sd_ble_enable(p_app_ram_start);" and watching the "p_app_ram_start" value. This value was set to ~0x20007000. Then I took that number and used it as the Application RAM start address. After compilation and next debug boot, this value increased to ~0x2000A000. But this is unrealistic and tells me there must be another problem.

- Searched this forum for a solution, but there is none which works

Here are my development tools:

SDK: 15.2.0_9412b96
IDE: IAR
SD: S132 V6.1.0

Do you have additional solutions for me?

Thank you, Regards

Parents Reply Children
Related