GTL:Trace32针对Simulators、Emulators、Virtual Targets调试技术
在RTL环境中,借助Trace32调试有助于提高效率、降低风险等。
1 Trace32 PowerView支持Simulator、Emulator等调试
TRACE32可以连接到各种模拟器、仿真器和虚拟目标,以帮助缩短设计周期。
TRACE32工具能够在整个产品生命周期中重复使用生成的脚本,因为从模拟到客户现场使用的用户界面和脚本命令保持一致。
这使得开发者能够更早地发现并调试问题,降低成本并更快地将产品推向市场。
使用Trace32 PowerView对Simulator、Emulator、Virtual Targets今天调试的优点有:
1. 提高效率:TRACE32 PowerView 提供广泛的 API 支持,可以连接到几乎所有的模拟器、仿真器和虚拟平台环境,利用现有的开发环境。
2. 无需目标硬件即可测试软件:使用TRACE32,可以在目标硬件资源正在开发或受限时测试软件。
3. 一致的用户体验:TRACE32 PowerView GUI 在模拟环境中提供与实际硬件桌面上相同的调试体验。无论目标是虚拟的还是物理的,您都将获得相同的 TRACE32 用户体验。
4. 在Take-Out前测试 SoC:可以将 TRACE32 连接到门级仿真。使用 GTL API,TRACE32 使用与 PowerDebug 系统中相同的软件堆栈,允许您验证您的 SoC 设计,包括调试和跟踪功能。
5. 降低风险,满足要求:在开始硬件开发、设计目标或 PCB 之前,找到适合您嵌入式项目的 SoC。TRACE32 允许您使用各种 SoC 的虚拟原型来检查项目要求。
更多参考《Simulators, Emulators, Virtual Targets | Lauterbach TRACE32》。
2 Trace32 PowerView支持的虚拟接口调试技术
Trace32支持多种后端调试技术,达到底层调试通信和跟踪功能:
- 通过Host的USB或者Ethernet接口和DUT交互。
- 借助GTL Back-end,通过IPC和RTL Simulator或Emulator交互。
Trace32 PowerView支持MCD、GDB、GTL等调试技术。
2.1 MCD
MCD (Multi-Core Debug API)是软件开发工具和具有多核 SoC 的模拟或真实系统之间的接口。Lauterbach 与其他知名公司一起定义了这个接口,从初创公司到市场领导者都在使用这个 API 将他们的虚拟或仿真目标连接到 PowerView GUI。
2.2 GDB
利用远程串行协议 (RSP),TRACE32 可以连接到任何 GDB 服务器实现。除了 Linux 应用程序和内核调试之外,TRACE32 PowerView 还可以控制许多模拟器产品,如 QEMU。
2.3 GTL
GTL (Generic Transactor Library)是Lauterbach设计的API,它将仿真系统的事务处理器连接到 TRACE32 的完整调试和跟踪软件堆栈。该API提供了跟踪记录、总线级别和信号级别事务处理器的接口,允许在细节和执行速度之间进行权衡。
更多参考《Lauterbach´s GTL API | Lauterbach》、《GTL Debug Back-End (lauterbach.com)》。
2.3.1 GTL链接配置
关于GTL配置参考《GTL Debug Back-End (lauterbach.com)》。
sys.CONFIG.DEBUGPORT GTL0--选择GTL后端调试。 sys.gtl.modelconfig "TIMEOUT=90000|CLK_RATIO=6|NODE=localhost|PORT_JTAG=29815|TRST_USED=0|CPU_FREQ_MHZ=2|TRACE=0"--配置连接到Simulator/Emulator选项。 sys.gtl.LIBname "/.../xtor_t32_socket_svs.so"--配置连接到第三方Simulator/Emulator使用的库文件。 sys.gtl.JTAGPROBENAME "JTAGPROBE0"--配置JTAG probe transactor名称。 sys.gtl.connect--根据以上配置加载GTL库文件,连接到Simulator/Emulator。