Hello,
I'm handling interrupts generated by FlexRay controller at the start of a FR frame. My handler is set as FIQ. The problem is that for some reason every third FR cycle the interrupt is not generated. Sometimes it leaves out even more often. I have no other interrupts set as FIQ, so it should always have a top priority. I have checked that all the frames in all the cycles are succesfully trasmitted on the bus. Here is a sample of my code:
The FR interrupt handler is in one .c file:
#pragma INTERRUPT(FR_interrupt, FIQ)
void FR_interrupt(void){
clear_status_interrupt_register();
FR_rcv_flg = 1U;
}
The ISR is in another:
while (running) {
lwipPeriodicHandle(s_timestamp);
if (FR_rcv_flg) {
FR_to_udp();
}
if (eth_rcv_flg) {
decode_udp_runtime();
}
}
I know for a fact that every interrupt which is generated is also serviced in "FR_to_udp()" so the problem lies in the interrupt not being generated at all. Does anyone have an idea what might be causing this?
Best regards
Martin