Apr 08, 2020
12:40 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 08, 2020
12:40 PM
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
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
2 Replies
Apr 08, 2020
03:30 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 08, 2020
03:30 PM
What's in the BIV register? Can you set a breakpoint within the Interrupt Vector table?
Aug 19, 2020
04:59 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aug 19, 2020
04:59 AM
I'm having a similar issue.
BIV is 0x0
PIPN shows correct number.
SCR shows overflow and pending interrupt
BIV is 0x0
PIPN shows correct number.
SCR shows overflow and pending interrupt