Join our technical discussions about Freescale Microcontrollers: M68HC12. (Freescale Semiconductor is a Subsidiary of Motorola).
|
Hi, this must be something simple, but I would welcome any suggestions Problem - IRQ handler code does not get hit when IRQ pin dropped low, while using debugger. I am using the AX-BDM12 debugger with a B32 system. I wrote code using ICC12 with an interrupt handler for the IRQ pin. I see the handler in the code visible in the debugger. The vector map looks OK, containing the IRQ handler. I have the IRQ-related regs set as default, and double-checked them with the debugger: INTCR (0x001E) IRQE bit set to 0, "!IRQ responds to low level" by default IRQEN bit set to 1, "!IRQ pin connected to interrupt logic" by default (debugger shows 0x60, OK) HPRIO (0x001F) debugger shows 0xF2, OK, !IRQ is highest priority interrupt I start code running under the debugger, with a breakpoint set at the start of the IRQ handler code. When I set the IRQ pin low, I see the execution on the B32 take a detour. SoOme activity LEDs on my board flash at a different rate for a moment, while the pin is low. So the MCU is responding in smoe wasy to the IRQ pin. But the BP does not get hit. However, if I "trace" the execution using the debugger, I do hit the ISR. Tracing shows that I am in some other function doing instructions in sequence (strncmp fn) and then I hit the IRQ pin ISR. This is what I expect, but I don't see this behavior while running at full speed. Any ideas why I can't hit the IRQ pin ISR without tracing? I used a timer ISR and was able to set BPs in the timer ISR and always hit them. Thanks Carl _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus |