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

BLE error when migrating from SDK14.2 to SDK16

Hello,

I am migrating our production code from SDK14.2 to SDK16, and switching to using FreeRTOS.  During the BLE initialization and bonding, I get a system reboot.  Tracking it down, it happens in this line in nrf_atomic_internal.h:

#define NRF_ATOMIC_OP_sub(new_val, old_val, value) "sub %["#new_val"], %["#old_val"], %["#value"]\n"

It originated from security_dispatcher.c:

case BLE_GAP_EVT_AUTH_STATUS:
  auth_status_process(&(p_ble_evt->evt.gap_evt));
  break;
I am not able to share our code since it is owned by the company.  Are there any pointers you can provide as to why this could be happening?
Several things I have tried:
- included NRF_BLE_QWR_DEF()
- configSUPPORT_DYNAMIC_ALLOCATION is set to 0, so heap size does not matter
- Flash read/write commands are working in general
Thank you for all your help!
Related