|
FAQs of TDS560USB
What is the difference between DSP and MCU?
DSP focuses on the stream processing, while MCU (such as x86,ARM) focuses on the event processing. Stream often needs real-time processing, so DSP subsystem often acts as real-time system. Real-time system needs real-time debugging, but ordinary DSP emulators do not support real-time debugging.
What is the difference between ordinary debug and real-time debug?
Debugging is usually executed by a debugger, which is normally a software running on PC. Debugger's major job is to get information from target CPU and control the program running on the target CPU (such as step, breakpoint and run). But ordinary debugger needs to stop the program running on the target CPU in order to execute the above job.
Real-time system needs real-time debugger. Real-time debugger must get the information from target CPU and control the program running on target CPU WITHOUT stopping the program running on the target CPU.
To realize the real-time debugging, the debugger must build a real-time communication channel between the debugger and the target CPU . The real-time channel includes two levels: hardware channel and software channel. The real-time hardware channel is the real-time emulator and the real-time software channel is the real-time debugger.
What is real-time emulator?
To realize the hardware real-time communication channel between the debugger and the target CPU, we must define the hardware interface on both the PC and the target DSP. TI's DSP uses JTAG (EJTAG) as hardware debug interface. PC hardware interface is usually PCI, USB , EPP, PCMCIA, or Ethernet. The examples of real-time emulators are TI's XDS560 and Wintech's TDS560. TI's XDS510 and Wintech's TDS510 are semi-real-time emulator (510 does not support AET, see discussion below).
What is the difference between real-time debugger and high speed RTDX?
To realize the software real-time communication channel between the debugger and the target CPU, TI defines a RTDX technology on CCS (Code Composer Studio). That RTDX means "Real-Time Data Exchange". To use this new function, the user should enable the CCS debugger’s RTDX module (called RTDX client), then on the target DSP, the user should link RTDX.obj (called RTDX server) with his own DSP program and call RTDX communication function on his application software.
When using RTDX , the target DSP does not need to be stopped, hence the real-time communication channel between the debugger and the DSP is established.
When using TDS510 or XDS510, the RTDX speed is only 5-10KB/s. For most DSP applications, this speed is not enough. The RTDX bottleneck is the emulator and DSP's JTAG interface. To improve the speed of RTDX , the solution is to use TDS560 or XDS560 and select the DSP chip with EJTAG interface (such as 6211, 64x, 671x, 55x). When using 560 and 6211 DSP chip, the RTDX speed can reach 1.5MB/s, which is called High Speed RTDX.
What is the difference between real-time event debug and advance event trigger (AET)?
On a real-time system, the real time event must be processed (such as the hardware interrupt and the hardware timer). In the usual event debug mode, a software breakpoint is inserted at the interrupt program entry point. Once the event is triggered, the program will be stopped at breakpoint, then we can view the information we want. But once the target DSP is stopped, we will lose other real-time events and real-time streams.
The advance event trigger (AET) solves this problem. Using AET, we can catch the real-time event without stopping the DSP. To Run AET, we must use a 560 emulator and select a DSP chip with EJTAG(621x,64x, 671x, 55x,OMAP). 510 emulators do not support AET.
Summary.
560 emulators: support high speed RTDX, AET (must work with DSP chip with EJTAG). 560 emulators are called "real-time emulator".
510 emulators: support low speed RTDX but do not support AET. 510 emulators are called "semi-real-time emulator" or "non real-time emulator".
Note: 560 includes 510's main functions, and will include all of 510's functions on CCS2.3. The user should select 560 to protect their investment, because they will need to upgrade from 510 to 560 sooner or later. |