Post Go back to editing

Interrupt to ARM and both SHARC cores (SC589) from a single timer


In ADSP-SC589 I would like to use a single timer to generate interrupts (run callback functions) to all three cores.  For example I would like every core to execute callback function once each timer period (timer IRQ mode: ADI_TMR_IRQMODE_PERIOD) from a single timer. 

Looking at the SC589 hardware reference manual it seems this might be possible if I were to bypass the standard drivers/services and manipulate the System Event Controller (SEC) and Generic Interrupt Controller (GIC) registers directly.  However it's not clear how I could use the standard APIs to achieve this goal - or if it's even possible at all.

I'm wondering if there is some way to achieve my goal using the standard GP Timer Service APIs?

Alternately I suspect it also might be possible to achieve the same goal using one timer to interrupt/callback a single core, and then use a software generated trigger routed to the other cores (to cause callback functions to run in those other cores).  However I can't find any examples which show how to send software trigger from one core to other cores using the standard TRU service APIs, and I can't find an example of how to set up the TRU to simply run a callback function when it receives a trigger.

Any help/suggestions or especially examples you can provide would be appreciated!