Hi,
I wrote an interrupt handler for a Timer Interrupt and a handler for a PCIe legacy and I used it while running in Core 0.
When I ran the same code on Core 1 I didn't reach the ISR.
What can be the reason?
Thanks,
Ilan.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I wrote an interrupt handler for a Timer Interrupt and a handler for a PCIe legacy and I used it while running in Core 0.
When I ran the same code on Core 1 I didn't reach the ISR.
What can be the reason?
Thanks,
Ilan.
Hi,
So, I would like to be sure, Timer 0 interrupt is connected to CorePac0 and Timer 1 interrupt is connected to CorePac1, and both share the same Event Number- 64, right?
Yes, your understanding is correct. Timer2 and Timer3 interrupts are not specified to CorePac's, user can configure this interrupt for any CorePac's.
What about PCIEXpress_Legacy_INTA, event number 50 in CIC0 Event Inputs.
Does it trigger both CorePacs, 0 and 1?
Based on your configuration, CIC0 Event to System Event Interrupt Controller output configuration. For example, If you map PCIEXpress_Legacy_INTA, event number 50 to System Event Interrupt Controller output CIC0_OUT(0+20*n) event number 22 means specific CorePac only receive the interrupt.
Note: n is core number.
Thanks,
Hi,
In my code PCIEXpress_Legacy_INTA, input event number 50 is mapped to event number 25.
System Event Interrupt Controller output CIC0_OUT(3) or CIC0_OUT(23)
After initilization I see the following setting on both cores:
EVTMASK0 - Address 0x01800080 - value =0x0200000F ==> event number 25 is masked
INTMUX1 - Address 0x01800104 - value =0x00001519 ==> event number 25 is selected
After triggering PCIEXpress_Legacy_INTA I see the following:
On Core0 EVTFLAG0 - Address 0x01800000 - Value 0x02000008 ==> Flag 25 is set
On Core1 EVTFLAG0 - Address 0x01800000 - Value 0x00000008 ==> Flag 25 is not set
It seems that core1 doesn't get the event.
Does the input event mapping split automatically to the two cores as CIC0_OUT(3) and CIC0_OUT(23) ?
Or is there any other setting to the CIC0 to tell it to map to Core1 also?
Thanks,
Ilan.
Hi,
Have you using C6657 DSP for your testing? If yes, CIC0_OUT40 to CIC0_OUT47 Interrupt Controller Output only connected to all corepac's. Better to use this Interrupt Controller Output mapped to event number 56-63. Example: PCIEXpress_Legacy_INTA, input event number 50 is mapped to event number 56.
Refer attached Interrupt training document. 7356.3326.KeyStone_Interrupts.pptx
Thanks,