This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

sd_nvic_critical_region_enter/exit specifications

Is there a list of every interrupt these functions effect. Specifically I am worried about

static void ble_evt_dispatch(ble_evt_t * p_ble_evt)

My assumption is that they will disable this callback from the softdevice. Perhaps nordic has published something that better outlines the behavior of sd_nvic_critical_region_enter/exit. From what I can tell the source code for the functions is not available.

Parents
  • Hi

    From what I understand, sd_nvic_critical_region_enter will disable all application interrupts, which includes ARM priority 1 and 3 interrupts, because those are the application interrupt priorities. The softdevice callbacks will be blocked as well, e.g. sd_nvic_critical_region_enter, as they have ARM priority 3.

    The sd_nvic_critical_region_enter does however not have any effect on interrupts used by the softdevice itself, so calling sd_nvic_critical_region_enter will not block any BLE radio events.

Reply
  • Hi

    From what I understand, sd_nvic_critical_region_enter will disable all application interrupts, which includes ARM priority 1 and 3 interrupts, because those are the application interrupt priorities. The softdevice callbacks will be blocked as well, e.g. sd_nvic_critical_region_enter, as they have ARM priority 3.

    The sd_nvic_critical_region_enter does however not have any effect on interrupts used by the softdevice itself, so calling sd_nvic_critical_region_enter will not block any BLE radio events.

Children
No Data
Related