non-maskable interrupt

Joel Sherrill joel.sherrill at OARcorp.com
Mon Dec 9 14:14:10 UTC 2002



Ilya Alexeev wrote:
> 
> Hello Joel,
> 
> Friday, December 6, 2002 you wrote:
> 
> JS> Ilya Alexeev wrote:
> >>
> >> Hi all.
> >>
> >> I am using rtems-ss-20020301 and gen68360 bsp.
> 
> JS> I think this is the problem that tracked and fixed as PR267.  It
> JS> was a bug in m68k/cpu_asm.S where it was not incrementing
> JS> _ISR_Nest_level
> JS> which violates the Watchdog* routines assumptions about knowing
> JS> when an ISR happened.
> 
> JS> THe ChangeLog entry says it was fixed in August.  So anything newer
> JS> than that has the fix.  CHeck out CVSweb to see what the change was
> JS> or grab a newer version.
> 
> Joel, I have applied patch from the PR267 to my cpu/m68k/cpu_asm.S.
> But it doesn't help.
> Problems with Level 7 interrupts persist.
> 
> Also I tried to use cpu_asm.S from the latest (1118) snapshot,
> but it doesn't help too.
> 
> What else I can try?

Is the ISR installed as an RTEMS ISR or a "raw" ISR?  RTEMS should
be totally unaware of it -- not vector it.  You need to have your
own handler which saves a0/a1/d0/d1 and then calls it.  The non-maskable
ISR should have NO connection to RTEMS whatsoever.

> >> My MC68360 board has external device which uses
> >> non-maskable Level 7 Interrupt Autovector.
> >>
> >> RTEMS documentation says that it is OK to use non-maskable ISRs,
> >> but they are must not use system calls.
> >>
> >> My ISR doen't use any system calls,
> >> it just read/write a registers of external device,
> >> but there are some problems then this ISR called too often.
> >> This ISR spoils some RTEMS internal data structures.
> >>
> >> I have add a number of test tasks for my application,
> >> which are just call rtems_task_wake_after(1).
> >> Then I call the ISR enough often,
> >> my system hangs somewhere in RTEMS' _Watchdog* routines...
> >>
> >> What I am doing wrong?
> >> Is it possible to correctly use non-maskable ISR in RTEMS?
> >>
> >> And one more thing - I am using standart call - rtems_interrupt_catch
> >> for attaching non-maskable ISR.. Is it OK?
> >>
> >> I will be grateful for any help.
> >>
> >> Ilya V. Alexeev
> >> ilya at continuum.ru
> >>
> >> Continuum Plus JSC
> >> Yaroslavl, Russia
> >> Phone: (+7)0852 240200
> >> Fax:   (+7)0852 359977
> 
> Ilya V. Alexeev
> ilya at continuum.ru
> 
> Continuum Plus JSC
> Yaroslavl, Russia
> Phone: (+7)0852 240200
> Fax:   (+7)0852 359977

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the users mailing list