IRQ7 is a non-maskable interrupt, i.e. there is no way it can be
blocked by raising
processor priority, thus the kernel is not able to mask this interrupt
when it enters
a critical section, hence if you make a system call from a non-
maskable interrupt,
it is likely at some point to cause corruption of a kernel data
structure, and will cause
failure.
This is not to say the non-maskable interrupts can not be used with
VxWorks (or any other
operating system), but if it needs to be used it either should never
return or not invoke any
operating system service.
On Mar 25, 8:52 pm, rahulda...@gmail.com wrote:
> Hi ,
>
> I am using MCF5475 freescale controller with Vxworks 6.4. I have
> configured a EDGE port interrupt ( IRQ7)and it is configured as level
> sensitive unsing intconnect()
>
> I have a single task and it is waiting on semTake().
> I have a sengive inside a ISR and few words to read from external
> Shared memory device inside this ISR. It takes 3 micro sec to excutes
> the ISR.
>
> Every thing works fine when I excutes my code.
> After some time may be 30 min or 1 hour, i see system task mainly
> 1. tnettask
> 2. miibus monitor
> 3. terror task
>
> getting stopeed.
>
> The problem speed up it i try to excute the shell commmand i or W on
> terminal window.
>
> I see tshell0 task getting restarted. and few other system task
> getting stop. Still my task is running.
>
> This may happen after 20 to 30 times continous printing the task
> detail by excuting shell command.
>
> If I comment the ISR part, every thing works fine.
> I dont know what wrong with ISR or what is the excat problem.
>
> Any help to solve this will be appreciated.
>
> Regards
> Rahul Kumar