Interrupt ISR not executed in TC212, Trap is generated instead

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User19321
Level 1
Level 1
Hi All,

I am trying to toggle a Port Pin inside a GTM TOM Interrupt Service Routine. However, instead of servicing the interrupt, a Trap is generated. (Global Register Write Protection).

I am using infineon iLLD drivers, with High Tec IDE and Tri-board Starter Kit. The debugger used is on-board Mini Wiggler.
I have checked that the Timer is configured correctly. If I do not set interrupt generation, it runs fine.

I have also configured the ISR as asked in iLLD driver documentation. :


IFX_INTERRUPT(ISR_Timer_1ms, 0, ISR_PRIORITY_TIMER_1MS);



void ISR_Timer_1ms(void)
{
// IfxCpu_enableInterrupts();

IfxGtm_Tom_Timer_acknowledgeTimerIrq(&g_GtmTomTimer.drivers.timerOneMs);

IfxPort_setPinState(&MODULE_P11, 9, IfxPort_State_toggled);

g_GtmTomTimer.isrCounter.slotOneMs++;
}



I have checked that SRN is also configured correctly. At the point of Trap generation, I even checked the ICR and found that the CPU is actually servicing the same ISR in form of CCPN.

I don't understand why would this happen. Any help will be appreciated.

Thanks
0 Likes
2 Replies
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
What's in the BIV register? Can you set a breakpoint within the Interrupt Vector table?
0 Likes
User20083
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted
I'm having a similar issue.

BIV is 0x0

PIPN shows correct number.

SCR shows overflow and pending interrupt
0 Likes