This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTDX on omap-l137 plattform

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

  • Unfortunately, RTDX is a technology no longer supported by TI and it will be difficult to find anyone who is knowledgeable enough to help answer your questions.  Is communication with the host while the target is running truly needed, or can you fall back to a stop-mode solution in which data is transferred after the target is stopped?  In other words, is this for debugging purposes, or for use in a deployed system?  If you truly need host communication while the target is executing, you may need to fall back to a simpler solution.

    Dave

  • thank you for your response. Well, my intention is to test algorithmic components implemented on the DSP in comparison to a reference implementation on the PC. This could be done after stopping the target, nevertheless, communication during runtime is desired since I would not want to stop the target for every frame of data to be tested. But it is good to know that RTDX will not be the optimal way since I will focus on other communication links.

    Thanks again, best regards,

     

    Hauke