3487|2

227

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

使用IAR ETM Trace调试功能的要求 [复制链接]

在某些情况下,应用代码可能突然跑飞或者产生异常中断,此时导致问题的原因可能难以发现。调试这类问题时,可以考虑使用IAR所支持的ETM Trace调试功能,ETM Trace调试功能可以分析ETM嵌入式跟踪宏单元所记录的跑飞前后一段时间内MCU执行的所有指令,在查找此类复杂问题的原因时非常有帮助。

 

ETM嵌入式跟踪宏单元

ETM Trace调试功能的实现依赖于芯片上的ETM嵌入式跟踪宏单元,ETM是ARM CoreSight调试架构中的一个可选硬件模块。ETM单元用于提供指令跟踪。在使能并开始跟踪后,ETM模块会生成指令跟踪数据,并通过ARM CoreSight调试架构中的跟踪端口接口单元TPIU进行输出,跟踪数据通过硬件仿真器传输到PC端的调试器软件例如IAR中,IAR能够对这些跟踪数据进行解析并还原出MCU内部的指令执行情况。

由于具有完整的指令流数据的记录,ETM Trace可以通过对这些跟踪数据的分析,在分析代码跑飞或异常中断等情形时提供极大的帮助。

 

使用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) Trace数据输出引脚和调试接口连接

带有ETM硬件模块的MCU会具有用于输出Trace数据的GPIO引脚,使用ETM Trace时,需要将芯片上的Trace数据输出引脚与调试接口连接。常用的20 Pin JTAG调试接口下,Trace数据输出引脚和时钟线对应的连接位置如下图所示:

(4) 芯片的引脚数量

若查询MCU数据手册,确认该型号MCU包含ETM硬件模块,还需要进一步确认所使用的MCU的引脚情况,部分型号MCU虽然内部带有ETM硬件模块,但是在引脚数量较少的型号中没有包含上述Trace数据的输出引脚,此时同样无法使用ETM Trace功能。

最新回复

jlink是不是不支持?没有这几个脚的样子。   详情 回复 发表于 2021-3-23 17:28
点赞 关注
个人签名

欢迎关注“麦克泰技术”

 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

IAR所支持的ETM Trace调试功能,能解决BUG

有时程序跑飞,一般的代码有BUG

 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

板凳
 

jlink是不是不支持?没有这几个脚的样子。

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表