Hi,
I use the Spectrum Digital Omap - l137 EVM. I have finally reached the point that I would like to communicate with the host PC using RTDX. I use CCS3.3 and DSP Bios 5.33.06. I read through the RTDX tutorial in the CCS but unfortunately, the described examples seem to be no longer supported (refer to http://e2e.ti.com/support/embedded/f/355/t/49318.aspx).
So, I tried to implement a simple example by myself.
I use the dsp/bios tcf file to setup an RTDX object called rtdxSend which is an output object. By doing so, I assume that the RTDX_CreateOutputChannel is no longer needed which is described in the CCS tutorial. Also, i do not use the function call TARGET_INITIALIZE which is described in the CCS tutorial since that causes a linker error.
Next I define a PRD function which is called every second. In that function I call a sequence of functions,
RTDX_enableOutput( &rtdxSend );
status = RTDX_write( &rtdxSend, data, sizeof(int)*2 );
RTDX_disableOutput( &rtdxSend );
Variable "data" contains two integers.
I build the project and load it to the DSP. Then, under Tools->RTDX->ConfigurationControl, I enable RTDX and start to run my program. Also I observe the output channels in the Tools->RTDX->ChannelViewerControl window. The good thing: I can see my rtdxSend output channel.
Stopping at the breakpoint in the PRD function I see that the RTDX_enableOutput function is called successfully (I see the contents of the rtdxSend struct being modified). Then also the RTDX_write call seems to be successful since status return variable is set to 1 afterwards. Finally, also the RTDX_disableOutput is executed. It seems to be successful since the checkbox in the ChannelViewerObserver disappears.
Now the question: Where has my data output gone? In the ChannelViewerObserver, the entries for XFRCount, ByteCount etc. are always 0 (even with AutoUpdate). Also, I have configured RTDX to non-continuous mode with a logfile specified. In that logfile, however, there seems to be always the same single value, no matter what I send by using the RTDX_write and no matter how many entries I send (hence: no input in the logfile). I would expect the entries in the ChannelViewObserver to increase after every call to the write function and the logfile to grow for every write call.
Is the RTDX mechanism supported in later versions of DSP/BIOS at all (http://processors.wiki.ti.com/index.php?title=Real_Time_Data_eXchange_%28RTDX%29)? Is it true then that I have to implement my own communication mechanism based on, e.g. RS232?
Best regards,
HT