Nuttx does not support nested iteruups. In fact if you enable
prioritization, you will get random crashes due to the reentrace to the
common isr.

On Sun, Oct 25, 2020, 1:52 PM Matias N. <mat...@imap.cc> wrote:

> Hi,
> while working on nRF52 BLE link-layer I experienced some problems due to
> delayed ISRs. This can be quite problematic
> for handling all the tight timings required by the standard. I eventually
> reached an implementation that can deal with this relatively well (BLE
> standard gives some leeway for some small number of dropped packets and
> also retransmits missing ones). However, as other peripherals start
> generating more interrupts, this could actually become a problem. Also, I
> think it would be good to know BLE ISRs will always have priority.
>
> I've been looking into how ISRs can be prioritized but I don't have much
> experience with this, so I have some questions:
> * Does nRF52 need explicit support for handling interrupts with different
> priorities or is the support supposed to be taken care of at the ARM level
> code?
> * How well supported is this in nRF52/ARM?
> * Do interrupt priorities imply nested interrupts? It isn't clear to me if
> priorities only mean which ISR will get served first when they are pending
> together or if it also implies that a low priority interrupt can be
> interrupted to handle a higher priority one (I believe the latter is what
> is usually refered to as "nested interrupts")
> * How does enter_critical_section() deal with priorities? How do I know
> which priority is masked and which one isn't?
> * Which configs should I enable to try this?
>
> Thanks,
> Matias

Reply via email to