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

softdevice returns error when using a chunk of buffer

Hi Expert,

I found a weird case that at my 51822 plaform with s110 enabled, if I define a global buffer like:

static uint8_t system_buffer[1024];

it obviously will be referred in some code logic(anywhere). Then, I can see a strange software reset when system is up and doing initialization. The root cause is because sd_ble_enable or sd_ble_gap_ppcp_set returns error number, but I am confused that this system_buffer is nothing to do with these two SVCs. My 51822 has 32K RAM, and also I check that stack/heap seems okay then.

If I change the buffer size as 512 or smaller, then verything will be OK. Why does a global buffer affact softdevice? I see for sd_ble_enable, error # shows a assert deadbeef, but for sd_ble_gap_ppcp_set, error number is 16 which means NRF_ERROR_INVALID_ADDR. Any clues shared to me? Thanks.

Parents Reply Children
No Data
Related