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

sd_ble_gatts_characteristic_add() error code 0x4 No Memory for operation.

Hello all, I am using nRF51822 SDK8.1.0 SD130 The code was a central, and I want add a peripheral function. I reference \examples\ble_central_and_peripheral\experimental

I got 2 error when I call void own_service_setup(void)

  1. sd_ble_gatts_characteristic_add() error code 0x4
  2. sd_ble_gatts_descriptor_add() error code 0x8

Can somebody please advice me about these error and about fix it?

Parents Reply
  • frogofmagic, I suspect the SoftDevice RAM segment has different internal buffers: 1) space to save the values of Characteristics and 2) space reserved for radio processing needs. I've received these sorts of memory errors on projects that used several somewhat long characteristics (i.e., my data used all the internal buffer space available for characteristics). I was able to work around the limitation by placing some of the characteristics in user RAM rather than have the Soft Device manage them (vloc set to BLE_GATTS_VLOC_USER).

Children
No Data
Related