Why are RTDX and CCS link operations slow in the Developers Kit for TI DSP 1.0 (R12)?

1 view (last 30 days)
When I attempt to read and write to the TI DSP chip using the following commands in
MATLAB, it takes about 7 seconds to read one memory location.
cc=ccdsp
run(cc)
myvariable=read(cc,cc.address(ccarrayaveragenooffset,unit8, ,20) )

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
Note: The Developer's Kit for TI DSP version 1.0 (R12) from MathWorks, Inc. has some overhead in the link product, which has been improved in version 1.1 (R12.1).
The following information should be used if you're still running version 1.0 (R12). This information could also help if you're running version 1.1 (R12.1).
In order to save time when reading from and writing to the chip's memory, consider these suggestions:
- Specifying the address of the memory location in the read command will cause ActiveX to locate the address and slow the read command down. To avoid this, you can save the address in a variable then call on this variable in the READ command for instance. For example, use:
cc=ccdsp
run(cc)
x=cc.address(ccarrayaveragenooffset);
myvariable=read(cc,x,uint8, ...,20)
instead of:
cc=ccdsp
run(cc)
myvariable=read(cc,cc.address(ccarrayaveragenooffset,unit8, ,20) )
- Every time a read from the TI DSP chip's memory is issued, the running process on the chip is halted and this takes a relatively long time in Code Composer Studio 1.2. When multiple read and writes are to be executed, it is best to halt the process manually using "halt(cc)" and then read from and write to memory locations already stored in variables as explained above.
- Another problem is a fairly slow polling loop within the Code Composer Studio product. This has two effects. Sometimes Code Composer will pass the data to MATLAB very slowly. Also, when the Target DSP is running, the Code Composer polling implementation takes substantial system resources. As a consequence, all other processes including MATLAB will slow down.
- Make CCS invisible and then read and write. For example:
>> cc = ccsdsp('boardnum',0);
>> cc.visible(0)
>> tic; cc.read('FF0','int32',[40 100],10); toc
elapsed_time =
2.6640
>> cc.visible(1)
>> tic; cc.read('FF0','int32',[40 100],10); toc
elapsed_time =
11.7770
>>
Note - by calling cc.visible(0), which places code Composer in the background, the data transfer rate was increased by a factor of more that 4!
- The c6701 EVM is much faster than the DSK boards. If you have a DSK board, consider purchasing a XDS510PC emulator from Texas Instruments because the parallel port JTAG emulation circuit is very slow.

More Answers (0)

Categories

Find more on Downloads in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!