We are running IPNC RDK 3.5 on a custom board containing a DM8127. On initial boot of the board, everything works fine and the board streams video. However, when we kill the Linux process on the A8 that manages the McFW chain and restart it, it doesn't come back up successfully. I've traced the problem into the Linux Syslink driver where calls to Ipc_procSyncStart() for connection to the VPSS M3 consistently fail because the A8 never sees the M3 set startedKey to Ipc_PROCSYNCSTART. However, Ipc_procSyncStart() works fine to the Video M3 on the restart. I believe that the A8 is looking in the right place in shared memory, because the address at which the A8 is expecting the VPSS M3 to set startedKey is the same on the successful initial boot and the unsuccessful restart. I've also tried hacking the code in Ipc_procSyncStart to force cacheEnabled to 1; this had no effect.
Debugging this is a chicken-and-egg problem: I can't see what's going on on the VPSS M3 because I can't communicate with it. I would use Code Composer Studio's JTAG interface to look at the VPSS M3, but my evaluation license has expired. Suggestions on how to debug this?