|
1. 实时调试工具和传统仿真器的区别?
DSP 侧重于数据流处理,而MCU(如X86,ARM)侧重于事件处理。数据流需要实时处理,所以DSP 子系统通常是实时系统。实时系统需要实时调试,但一般的DSP 仿真器是不支持实时调试。
2.传统Debuger 与实时调试的区别?
一般来说调试是通过调试工具完成的,调试工具通常是一个在PC 上运行的软件。Debugger 调试工具的主要任务是从目标CPU 获取信息并控制程序在目标CPU 上的运行。(例如单步执行,设置断点,运行)但通常的仿真器在执行上述工作时需要把在目标CPU 上运行的程序停下来。实时系统需要实时调试工具,实时调试工具是在不停止目标CPU 工作的情况下,从目标CPU 获取信息并控制程序在目标CPU 上的运行。想要实现实时调试,需要在调试工具和目标CPU 之间建立一条实时信息通道。实时通道包括两个方面:硬件通道和软件通道。我们称实时硬件通道为实时仿真器,实时软件通道为实时调试工具。
3. DSP 实时调试---Realtime emulator
要在调试工具和目标CPU 之间实现硬件实时通信通道,需要在PC 端和目标DSP 端定义硬件接口。TI 的DSP 用JTAG 作为硬件调试接口,我们通常所用的PC 端的硬件接口有PCI,USB,EPP,PCMCIA,所以DSP 实时调试工具通常是一个盒子或一个PC 插卡加盒子。实时调试工具的代表是TI 的XDS560 和闻亭公司的XDS560。TI 的XDS510
和闻亭公司的XDS510 是准实时仿真器(510 不支持AET)
4. Realtime debugger----High speed RTDX
为在调试工具和目标CPU 之间实现软件实时数据交换通道,TI 在CCS 中定义了RTDX 技术。RTDX 译为实时数据交换。在PC 上使用CCS 调试工具的使用者要在目标DSP 中使能RTDX 模块,DSP 软件工程师要把RTDX.obj 与他自己的程序连接起来,然后在他的应用软件中调用RTDX 功能。当使用RTDX 功能时,需要停止目标DSP 的运行,然后在调试工具和DSP 之间建立数据通道。当使用TDS510 或XDS510 型号的仿真器时,RTDX 的速度仅有5-10K bytes/S,对于DSP 的应用来说,这远远不够。仿真器与DSP 的JTAG 接口造成了RTDX 的瓶颈,想要增大RTDX 的带宽就需要使用TDS560 或XDS560 和选择DSP 的EJTAG接口(如6211,64x,55x)。如果使用XDS560 和6211 芯片,RTDX 速度可以提高到1.5M bytes/S,我们称之为高速RTDX。
5. Real time Event debug----Advance Event Trigger (AET)
在实时系统,需要处理(像硬件中断,定时器)这样的实时事件。我们在处理一般事件时,通常是在中断程序入口插入一个软件中断,事件一旦被触发,程序将停在中断处,我们可以观察所需要的信息。但目标DSP 被停止运行后,我们将丢失其他的实时事件和实时数据流。为解决这样的问题TI 提出了AET(高级事件触发),我们可以在不停止DSP运行的情况下捕捉到实时事件。要运行AET,我们需使用560 和选择有EJTAG接口的DSP 芯片(621X,64X,55X,OMAP)。510 不支持AET。
6. Summary
? 560----支持高速RTDX,ATE(选用有EJTAG 接口的DSP 芯片)---我们称之为实时调试工具
? 510----支持低速RTDX,不支持AET-----我们称之为“准实时仿真器”或“非实时仿真器”
? 标注:560 包含了510 的主要函数,将在CCS2.3 版本中包含所有的函数,客户通过选择560 可以使他们的投资保值,因为他们早晚要将510 升级成560.
|
|