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

Request more detailed SDK 15.2.0 peripheral interrupt priority change explanation

The SDK 15.2.0 release notes state:

Changed the default interrupt priority level for the peripherals from 7 to 6. This is done to be aligned with the priority of the SWI coming from the SoftDevice.

A while ago I upgraded my project to build with SDK 15.2.0, and didn't notice that change, so my sdk_config.h still has all of the peripheral interrupt priorities set to 7. I haven't observed this to cause any problems, but could you please explain in more detail what problem setting the priorities to 6 solves?

The reason I ask is that I want to use two different peripheral interrupt priorities, with most of my peripherals interrupting at priority 7, but with a few particularly latency-sensitive peripheral interrupts at priority 6. (Latency from SoftDevice interrupts is short enough that I'm not concerned about that.) However, if you're recommending that the peripheral interrupts should be at priority 6, then the next higher level available to me is priority 3, and if I use that I could potentially delay SoftDevice interrupts that are on priorities 4 and 5, which I'd prefer not to do.

If it makes any difference, my firmware is based on ble_app_hrs_freertos, so the SWIs from the SoftDevice are handled by SD_EVT_IRQHandler() in nrf_sdh_freertos.c, which just does a task notify to the softdevice task.

Thanks!

Eric

Parents Reply Children
No Data
Related