AnsweredAssumed Answered

BF 609 Interrupts flow

Question asked by bachabharat on Nov 30, 2016
Latest reply on Dec 9, 2016 by bachabharat


I am writing Interrupt Controller for Blackfin 609. In the SEC event dispatcher, I am reading CEC_SID to get the source of the Interrupt and it works fine for all the peripheral interrupts. But when I initialize software interrupt on EVT14, SEC dispatcher which I have written is still reading CEC_SID and getting routed to different service routines instead of EVT14. 

I have following questions

1. Is it normal behavior that CEC_SID still have the valid value even if the software interrupts are triggered ? or should I write a different dispatcher for software interrupts which doesn't read the CEC_SID.

2. I have no information on EVT 7-EVT 15 except EVT 11 so that means they all can be used as software interrupts?

3. How does the interrupt racing occurs among peripherals to fill SEC_CPND. If the higher priority(A) gets the core and lower priority peripheral(B) is waiting but by the time A gets serviced if a medium priority peripheral (C < A & C > B) trigers the interrupt which of the two peripherals(B-triggered earlier than C or C-higher priority than B) gets core. 


Thanks and Regards,

Bharath Reddy