OMAP-L138: SysLink Notify and StarterWare Interrupt APIs Conflicting

Part Number: OMAP-L138


I'm working on a custom-manufactured board with OMAP-L138 processor and a Spartan-6 FPGA. The ARM and DSP cores run Linux and SYS/BIOS, respectively.

I'm able to SysLink Notify API to send interrupts between the cores. On the other hand, I also need the DSP to get interrupts from the FPGA through uPP; to that end, I have a code that uses the "interrupt.h" API to register ISRs for uPP events.

However, when I call IntRegister(), IntEventMap(), and IntEnable() functions, the Notify API stops responding. I changed the CPUint parameter to see if that'll solve the problem, but it didn't.

Are these two APIs incompatible? How can I register for both ARM-side (Notify) events and FPGA-side (uPP) events from the DSP?

Is there a way to send and receive to/from the ARM (running Linux) without using the Notify module?

Thanks in advance.

(Btw, I know SysLink has been replaced by IPC 3.x, but SysLink is the recommended IPC method in the TI Wiki and it is included by default in OMAP-L138 Multi-Core SDK.)

Edit: After investigating, I realized it is IntDSPINTCinit() that causes SysLink Notify to crash. However, if I comment it out, then SysLink will work, but uPP will stop working. Any ideas?

2 Replies