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

Softdevice assert on S132 6.1.1 on heavy traffic as peripheral

Hi

On our project we see often softdevice asserts with the version 6.1.1 of the S132. The application we have is offering a BLE GATT service that allows fast serial communication and acts as peripheral. We connect it in our test environment with a BLE dongle and force high traffic communication over the BLE service. During the communication we see sporadic softdevice asserts.

The same application works flawless with S132 5.x, but since the update to the 6.x softdevice we see softdevice asserts with the following debug values:

How can we find out what causes this assertion? Does the PC value (0x16ACC) gave a Clou what could be the cause/solution for this?

Regards Adrian

  • Hi Adrian.

    The assert you are seeing indicates that the interrupt processing for the radio is too slow. Could it be that you are delaying the processing of the radio interrupt (by running code in the highest priority level, or disabling interrupts for too long), or that there is some problem with the high frequency crystal on your board?

    Best regards,

    Andreas

  • Hi Andreas

    Your post gave me the hint I needed. I had to added special code for the softdevice interrupt handling for softdevice 6.x. In that code part I disabled all interrupts for a short (but obviously too long) time.After modifiing the code to only disable the SWI2 IRQ it worked as expected and the softdevice assert disappeared.

    So the case can be closed. Thanks again for the great support also in the year 2019... :-)

    Regards Adrian

Related