Hello all,
Iam using CCSv5, StarterWare 1.10.03.03, spectrum digital xds560v2 jtag emulator and evmomapl138
I am having a little trouble running the IPC example. The program is in stuck in a while loop where it does a quick wait and the notify is never successful. Below the code where it is stuck:
/* Waiting loop - spin waiting for remote to complete something quick */
void
ipc_quickWait()
{int i = 0;
i++;
}
/* Synchronize with remote processor
* Only IPC_init should use this function */
int
ipc_InitSyncRemote (void)
{
UInt16
volatile *ptr = (UInt16 volatile *) &ntfyCfgObj.remoteEventPtr->key;
/* wait for remote system key to "appear" */
while (*ptr != IPC_BOOT_KEY)
ipc_quickWait();
return Notify_S_SUCCESS;
}
I think the problem is that I'm only loading the ARM executable since I read in the StarterWare user guide :
IPClite examples require both ARM and DSP side executables. To run the example, first connect EVM's serial port to a host PC serial port using a NULL modem cable. On the host PC, run a serial terminal application (ex. Teraterm, Hyperterminal, minicom) and configure it for 115200 baud, no parity, 1 stop bit and no flow control. The ARM side application will output to this serial console. The DSP side will output to CCSv5 console IO window.
To run the executables without rebuilding, set up the serial terminal and start CCSv5 with an XDS emulator connected to the EVM or with the on-board emulator (see here for more instructions). Under the "binary" folder, the "armv5" folder is for ARM executable and "c674x" is for DSP executable. Select the "cgt_ccs" subfolder, then omapl138\evmOPMAPL138 and then the examples. For all of these examples, the ARM side application will be waiting for a notification from the DSP side, so logically you may want to run the ARM-side first.
It says how to load the ARM executable (which is what I've been doing) but where and when should I load the DSP executable for it to work. Please provide any guidance.
Thank you,
Michelle