Other Parts Discussed in Thread: CC2650
CCS: 10.4
XDC: tirtos_cc13xx_cc26xx_2_20_01_08
SDK: ble_sdk_2_02_01_18
Compiler: ti-cgt-arm_5.2.6
I'm (still) working with the updated serial port profile example from Github, and I'm basically modifying it to have a layer of behavior between the UART and BLE interfaces. In the example's original behavior, a character received on the UART is passed to BLE via a call to SerialPortService_SetParameter().
If I try to write to the attribute in the same way, from another task, this call ultimately results in a call to Icall_abort(), and an assert spinlock. While I'm trying to develop for the BOOSTXL-C2650MA, I've also configured and compiled for CC2650_LAUNCHXL and run on the launchpad (the project's original configuration), with the same result. The best I've been able to determine is that I think Icall_abort() is being called from the stack, but it's not clear to me how to debug there.
I have produced a simplified project with a task which simply iterates through each letter of the alphabet once per second, and consistently reproduces the issue. I will attach the archive to this ticket if possible.