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

when is CCM-EVENTS_ERROR raised?nrf

Hello,

I try to receive encrypted BLE PDUs and to decrypt them on the fly using the radio and ccm peripheral. The radio is configured to trigger the DISABLE task when the END event occurs. The preprogrammed PPI-Channels 24 and 25 (RADIO->EVENTS_READY -> CCM->TASKS_KSGEN and RADIO->EVENTS_ADDRESS -> CCM->TASKS_CRYPT) are enabled.

Now, reproducible, when receiving a first, empty PDU (LLID = 01b) in the radio ISR, when the RADIO->EVENTS_DISABLED is triggered, the CCM->EVENTS_ERROR event is set. The EVENTS_ENDKSGEN is set, but not the EVENTS_ENDCRYPT event. CNFPTR, INPTR, OUTPTR and SCRATCHPTR all point to different valid addresses in the RAM. RADIO->PACKETPTR and CCM->INPTR point to the very same location. 

The radio is in the TxRu state, as expected. The CRCSTATUS register contains 1, which indicates OK. The PACKETPTR points to RAM that contains an empty PDU (as expected). The CCM is configured for decryption.

According to the documentation of the CCM peripheral this sound like raising the ERROR event should be a rare event and only happen during encryption. What are the circumstances under which this event is raised and how to avoid them?
Kind regards,
Torsten
Parents Reply Children
No Data
Related