[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ARM IRQ reenter question
- Date: Tue, 02 Sep 2008 12:13:42 -0400
- From: gds at chartertn.net (Gene Smith)
- Subject: ARM IRQ reenter question
xu ray wrote:
> 2008/9/2 Gene Smith <gds at chartertn.net
> <mailto:gds at chartertn.net>>
> I have two IRQ exceptions: timer and ethernet. They are both handled by
> _ISR_Handler in irq_asm.S. When I look with jtag debugger, I see
> _ISR_Handler being called again while it is is progress (reentered) even
> though the IRQ disable bit in the CPSR is set (disabled == 1) according
> to gdb. Sometimes _ISR_Handler calls ethernet and sometimes timer, but I
> never see it actually return.
> Would this be expected with the CSPR set to 0x00000092 ? I would think
> with IRQ disabled, _ISR_Handler would never be reentered.
> It is true that when IRQ disabled, it should not re-enter ISR_Handler.
> The program runs fine as long as I don't hit a breakpoint. After I hit a
> breakpoint and try to step or eventually continue, the program always
> crashes. So, with this problem, my debugger is useless.
> It seems that the debugger change the mechanism of ISR for ARM.
Thanks, I am checking with the debugger vendor, Macraigor. However,
tried to step around in example program filerdback and it does not use
interrupts at all it seems (not even timer). It either crashes or locks
up if I try to step or stop on a breakpoint in function Init. So
interrupt issue above may be a "red herring."
Can other ARM users step around and continue in ARM RTEMS application code?