如何在 iMXRT10xx 系列上使能 ETM_Trace
1 简介
ETM trace 是一种高速 Trace,并提供强大的调试模式,可帮助您解决最困难的问题。 本文档旨在介绍如何为 i.MXRT10xx 芯片启用 ETM Trace 以及使用uTrace 调试器的基本步骤。
2 安装软件
用户可以从 http://www.lauterbach.com/frames.html?
download_overview.html 找到 TRACE32 安装软件包,将TRACE32_201909.7z 下载到计算机上并进行安装。注意以下两点:
1. 由于安装包比较大,可以根据目标处理器安装软件组件,以节省硬盘空间;
2. 您可以在 C:\T32\bin\windows64\drivers 文件夹中找到安装的驱动程序。
3 连接硬件
TRACE32 调试器硬件包括:
• 通用调试器硬件
• 特定于处理器体系结构的调试电缆
图 1 是硬件连接示意图。
1. 以 i.MX RT1010 验证板(RAM)为例,图 2 显示了 i.MX RT1010 验证板硬件连接图。
2. 对 i.MX RT1010 烧写 efuse, 将调试模式更改为 JTAG,然后焊接相关电阻:R62,R63,R64,R65,R67,如 图 3所示。
3. 焊接 Trace 信号线相关的电阻,TRACE_CLK(R59),TRACE0(R57),TRACE1(R73),TRACE2(R72),
TRACE3(R69)。并断开信号线上的其他信号跳线,如 图 4 所示。
4 使用软件
点击 CPU->System settings, 再点击 CPU 以选择 CPU 类型,如 图 5 所示。
并将调试端口类型设置为 JTAG,如 图 6 所示
最后在 Mode 页面中选择 Up 以调试模拟重启 CPU,并在调试器和 CPU 之间建立通信。
5 加载应用
以 SDK_2.6.1_EVK-MIMX RT1010 为例,打开 IAR hello_world 项目,然后将其设置为 debug mode,然后将生成的文件后缀
设置为.elf,如 图 7 所示,您可以在 debug 文件夹中找到生成的 hello_world.elf 文件。
6 创建脚本
将以下脚本命令另存为.cmm 格式文件,并将其命名为 hello_world.cmm
- WinCLEAR
- ; --------------------------------------------------------------------------------
- ; initialize and start the debugger
- RESet
- SYStem.RESet
- SYStem.CPU IMXRT1010
- SYStem.CONFIG.DEBUGPORTTYPE JTAG
- SYStem.Option DUALPORT ON
- SYStem.MemAccess DAP
- SYStem.JtagClock CTCK 10MHz
- Trace.DISable
- SYStem.Up
- ; --------------------------------------------------------------------------------
- ; load demo program (uses internal RAM only)
复制代码 7 加载应用
打开 TRACE32 软件, 单击 File->Load File. 找到我们上面生成的 hello_world.elf 文件并运行它。
1. 单击 View->List Source 打开代码调试窗口。
2. 单击 Step 或按 F2 直接执行程序。
3. 单击 Go 或按 F7 直接运行程序。
4. 单击 Break 或按 F8 暂停程序。
8 Trace 调试
TRACE32 提供了一个称为 Trace.ShowFocus 的强大功能,可以分析跟踪端口的信号完整性。
水平轴以纳秒为单位反映时间线。 左侧显示了每个跟踪信号的当前延迟。 红线显示采样点。 每个信号可能有所不同。 如果设置
的值小于零或不是所有采样点都相等,则数据线会延迟。 如果值大于零,则时钟线被延迟。
按下 Scan 按钮将执行 Analyzer.ShowFocus 以更新窗口。 在最佳情况下,它应类似于 图 8 所示:
TRACE32 PowerView 提供了一个时序图,该时序显示了 program counters 何时处于哪个 function/symbol 范围内。在 图 9 窗口中点击 Chart 按钮将打开 图 10 窗口。
9 其他
对于其他 I.MXRT 平台,我们应该进行以下更改。
• 对于 i.MXRT1050 验证板,请执行以下步骤:
1. 烧写 efuse 将调试模式更改为 JTAG。
2. 焊接 Trace 相关电阻 TRACE_CLK(R140 R592),TRACE0(R583),TRACE1(R270),TRACE2(R294R547),TRACE3(R268 R688)。
3. 在脚本中替换以下代码:
— Data.Set AD:0x401F816C %Long 0x2
— Data.Set AD:0x401F814C %Long 0x3
— Data.Set AD:0x401F8150 %Long 0x3
— Data.Set AD:0x401F8154 %Long 0x3
— Data.Set AD:0x401F8158 %Long 0x3
• 对于 i.MXRT1020 验证板,请执行以下步骤:
1. 烧写 efuse 将调试模式更改为 JTAG。
2. 焊接 Trace 相关电阻,TRACE_CLK(R140),TRACE0(R815)。
3. 在脚本中替换以下代码
— ; set PinMux and enable Clocks
— Data.Set AD:0x401F80E4 %Long 0x6
— Data.Set AD:0x401F80EC %Long 0x6
点击下载完整版PDF
|