Hello, OMAPL138 experts, I have been developing a code (on OMAPL138 LCDK) solely for ARM core and had many interrupts running perfectly on ARM alone. Then, I started to add IPC feature so ARM core can pass data to and from DSP core. By modifying StarterWare IPC sample code, I was able to make ARM pass data to and from DSP core. However, as I celebrated IPC job done, I found the old interrupts on ARM had stopped working. In fact, they would still work perfectly when ARM runs alone by itself, but I would lose ARM interrupts once I connected DSP core for emulation.
Before I connected DSP core, the ARM worked perfectly with all its interrupts.
However, once I connected the DSP core to emulator (even prior to loading or running DSP program), I lost ARM core’s most interrupts. The interesting thing is that: the IPC between ARM and DSP keeps working, only ARM losing its interrupts.
This problem persisted even when I connected DSP core before and after ARM, as well as I loaded DSP program before and after ARM. ARM interrupts simply do not want to see DSP core to be connected for emulation. This problem can go away only if I disconnect both cores and then only reconnect the ARM back.
Please explain this kind of phenomenon. What part of memory has been stepped on or corrupted? How to fix and avoid the problem? Thank you very much!