And I just wrote this questions while you were writing the answers =)

Thanks, I understand a bit better that this indeed interrupts other ISRs.

On Tue, Oct 27, 2020, at 11:12, Nathan Hartman wrote:
> On Tue, Oct 27, 2020 at 10:03 AM Matias N. <mat...@imap.cc> wrote:
> 
> > Hi Nathan,
> > as I mentioned in my previous email, this isn't about overhead, is about
> > other ISRs delaying mine.
> 
> 
> I didn't see your reply until after, but Zero Latency Interrupts should
> more aptly be called Zero Jitter Interrupt, because jitter is what you
> would see on an oscilloscope if you turn on a GPIO on entry to the ISR,
> turn it off on exit from the ISR, and scope that together with whatever
> signal triggers the interrupt. Sometimes you'll see your interrupt begin
> very closely to the trigger and other times you'll see a delay. This is due
> to other interrupts and critical sections that happen to be executing at
> the time of the trigger. What Zero Latency Interrupts do is run immediately
> without caring about other interrupts, critical sections, etc. In fact
> they'll interrupt them immediately, eliminating that jitter I mentioned. It
> is a lot more work to setup these zero latency interrupts so I only use it
> for the most crucial things and I do everything else "in" the OS.
> 
> This happens only so often if I'm unlucky, so it isn't like it breaks the
> > communication completely.
> > But I would like to trust the communication more and know that if I start
> > processing ISRs from more peripherals
> > I'm not increasing the chances for communication to break.
> >
> > I don't see other way around using high-priority interrupts interrupting
> > lower-priority ones to achieve that.
> 
> 
> I guess this goes back to what Greg pointed out, which was done in TizenRT.
> I don't have the link handy (on my phone) but Greg posted it earlier in
> this thread.
> 
> Nathan
> 

Reply via email to