查看: 4973|回复: 0

[分享] 如何在 iMXRT10xx 系列上使能 ETM_Trace

[复制链接]
  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3868

    主题

    7472

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39227
    最后登录
    2025-7-18
    发表于 2020-6-8 10:03:17 | 显示全部楼层 |阅读模式
    如何在 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.png
    1. 以 i.MX RT1010 验证板(RAM)为例,图 2 显示了 i.MX RT1010 验证板硬件连接图。
    2.png
    2. 对 i.MX RT1010 烧写 efuse, 将调试模式更改为 JTAG,然后焊接相关电阻:R62,R63,R64,R65,R67,如 图 3所示。
    3.png
    3. 焊接 Trace 信号线相关的电阻,TRACE_CLK(R59),TRACE0(R57),TRACE1(R73),TRACE2(R72),
    TRACE3(R69)。并断开信号线上的其他信号跳线,如 图 4 所示。
    4.png


    4 使用软件
    点击 CPU->System settings, 再点击 CPU 以选择 CPU 类型,如 图 5 所示。

    5.png
    并将调试端口类型设置为 JTAG,如 图 6 所示
    6.png
    最后在 Mode 页面中选择 Up 以调试模拟重启 CPU,并在调试器和 CPU 之间建立通信。


    5 加载应用
    以 SDK_2.6.1_EVK-MIMX RT1010 为例,打开 IAR hello_world 项目,然后将其设置为 debug mode,然后将生成的文件后缀
    设置为.elf,如 图 7 所示,您可以在 debug 文件夹中找到生成的 hello_world.elf 文件。

    7.png
    6 创建脚本
    将以下脚本命令另存为.cmm 格式文件,并将其命名为 hello_world.cmm

    1. WinCLEAR
    2. ; --------------------------------------------------------------------------------
    3. ; initialize and start the debugger
    4. RESet
    5. SYStem.RESet
    6. SYStem.CPU IMXRT1010
    7. SYStem.CONFIG.DEBUGPORTTYPE JTAG
    8. SYStem.Option DUALPORT ON
    9. SYStem.MemAccess DAP
    10. SYStem.JtagClock CTCK 10MHz
    11. Trace.DISable
    12. SYStem.Up
    13. ; --------------------------------------------------------------------------------
    14. ; 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 所示:

    8.png
    TRACE32 PowerView 提供了一个时序图,该时序显示了 program counters 何时处于哪个 function/symbol 范围内。在 图 9 窗口中点击 Chart 按钮将打开 图 10 窗口。
    9.png
    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

    qiandao qiandao
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 08:59 , Processed in 0.122779 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表