This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Interrupt stacking issues


> - I did a lengthly bug report describing all of this
> (http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001456). I submited a
> patch to add into eCos kernel a supplementary call to handle the interrupt
> pending bit problem, but it's stuck in bugzilla since February since it's a
> kernel API change..
>
> Hope it helps!

Wow, that's a lot of detail to sort through - I'm going to have to
think about that for a bit.  On the face of it, we may well have that
problem.  However, I haven't worked out how that matches our symptoms.
 I thought that all of the ISRs (and the PendSV/DSR) could only run
once at a time.  If an ISR triggers the PendSV, it will be off the
stack by the time PendSV runs.  It can then pre-empt the PendSV
exception (so both will appear on the stack at once), but only once.
The PendSV exception bit may well be set again, but it will have to
wait for the first one to finish (and presumably be off the stack)
before running again.  Lots of different ISRs could all pre-empt each
other, but I don't _think_ that's what's happening.

Did you see any issues like this when you were investigating, or was
unnecessary ISR/DSR calls the key issue?

Thanks very much

Alan

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]