ADSP-SC589
Production
The ADSP-SC589 processor is part of the new, high-performance, power-efficient, real-time series that delivers greater than 24 giga-floating-point operations...
Datasheet
ADSP-SC589 on Analog.com
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
Update: I see there is a FAQ containing some info about using TRU with a timer:
However the example code (TRU_MulcoreSync_Timer_Interrupt) included with the FAQ doesn't show any example for Core0 and bypasses the drivers/services directly manipulating the peripheral registers. Would be nice to have an example that uses the drivers/services properly and includes use of Core0 as part of the example.
Hi,
In the attached code TIMER0 in SHARC0 is configured via driver APIs to raise interrupt in ARM core as well as SHARC1 core via TRU Service APIs.
Regards,
Santha kumari.K
Hi Santha, it's working now so I'm all good.
Thank You!