你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用IAR ETM Trace调试功能的要求

[复制链接]
麦克泰技术 提问时间:2021-3-5 14:43 /
在某些情况下,应用代码可能突然跑飞或者产生异常中断,此时导致问题的原因可能难以发现。调试这类问题时,可以考虑使用IAR所支持的ETM Trace调试功能,ETM Trace调试功能可以分析ETM嵌入式跟踪宏单元所记录的跑飞前后一段时间内MCU执行的所有指令,在查找此类复杂问题的原因时非常有帮助。
1.png
01
ETM嵌入式跟踪宏单元
ETM Trace调试功能的实现依赖于芯片上的ETM嵌入式跟踪宏单元,ETM是ARM CoreSight调试架构中的一个可选硬件模块。ETM单元用于提供指令跟踪。在使能并开始跟踪后,ETM模块会生成指令跟踪数据,并通过ARM CoreSight调试架构中的跟踪端口接口单元TPIU进行输出,跟踪数据通过硬件仿真器传输到PC端的调试器软件例如IAR中,IAR能够对这些跟踪数据进行解析并还原出MCU内部的指令执行情况。
2.png
由于具有完整的指令流数据的记录,ETM Trace可以通过对这些跟踪数据的分析,在分析代码跑飞或异常中断等情形时提供极大的帮助。

02
使用IAR ETM Trace调试功能的要求
(1) 芯片带有ETM模块
如上文所述,Trace功能依赖于ETM模块跟踪记录到的Trace数据,但是注意ETM硬件模块对于MCU而言是一个可选模块,并非所有型号的MCU都具有ETM模块,所以需要首先查询MCU的数据手册确认是否存在ETM硬件模块。

(2) 仿真器支持Trace功能
Trace功能会产生大量Trace数据,因此需要用到支持Trace功能的仿真器例如i-jet Trace,此类仿真器内部带有专门的存储空间,用于缓存Trace数据。不支持Trace功能的仿真器如普通版本的i-jet仿真器则不支持ETM Trace调试功能。
3.jpg
(3) Trace数据输出引脚和调试接口连接
带有ETM硬件模块的MCU会具有用于输出Trace数据的GPIO引脚,使用ETM Trace时,需要将芯片上的Trace数据输出引脚与调试接口连接。常用的20 Pin JTAG调试接口下,Trace数据输出引脚和时钟线对应的连接位置如下图所示:
4.png
(4) 芯片的引脚数量
若查询MCU数据手册,确认该型号MCU包含ETM硬件模块,还需要进一步确认所使用的MCU的引脚情况,部分型号MCU虽然内部带有ETM硬件模块,但是在引脚数量较少的型号中没有包含上述Trace数据的输出引脚,此时同样无法使用ETM Trace功能。


收藏 评论0 发布时间:2021-3-5 14:43

举报

0个回答

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版