I've recently migrated from SDK11 to SDK12.3 using a FreeRTOS based applications. I seem to get a hardfault on a sd_ble_gatts_hvx call. There is no difference between my SDK11 and SDK12.3 application code. The function doesn't return an error code it simply freezes/gets lost.
My ble_thread is set to priority 2 as per the freertos Nordic example. A xTimer timeout triggers the sd_ble_gatts_hvx call to update a timestamp on the Central. This worked great on SDK11, but I needed the lower power SAADC module in SDK12.3. Hence the migration.
What could cause sd_ble_gatts_hvx to simple cause a full system hang up? Thread priority matches SVC calls, and the parameters are correct (haven't changed).
Please help anyone who seen something like this. Thanks.
-DC