Post Go back to editing

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

Hi,

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!

Thanks!

LRC

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.