ARM嵌入式跟踪宏单元(ETM)详解
需积分: 0 95 浏览量
更新于2024-08-10
收藏 5.26MB PDF 举报
"嵌入式跟踪宏单元-史上最直白的ica教程"
嵌入式跟踪宏单元(Embedded Trace Macrocell,简称ETM)是ARM处理器中用于实时调试的一种硬件设施,尤其适用于深度嵌入式系统。它能精确追踪CPU执行的指令,这对于软件调试和性能分析极其重要。本文档主要围绕LPC23xx系列微控制器中的ETM功能进行讲解,该系列由广州周立功单片机发展有限公司提供技术支持。
30.1 特性
- ETM能够准确追踪ARM内核执行的每一条指令。
- 具有一个外部触发输入,用于启动或停止跟踪。
- 使用10线接口与外部设备通信。
- 所有寄存器都可通过JTAG接口编程,方便配置和调试。
- 在未使用跟踪功能时,ETM不消耗额外电源,有利于节能。
- 支持THUMB指令集,涵盖了广泛的应用场景。
30.2 应用场景
由于现代微控制器内部集成大量内存,传统的外部观察方法无法有效分析处理器行为。ETM提供实时指令跟踪,将处理器执行的信息输出到跟踪端口。通过软件调试器,用户可以配置ETM,并以易于理解的格式查看捕获的跟踪信息,从而理解和优化程序的执行流程。
30.3 工作原理及描述
ETM直接连接到ARM内核,而非主AMBA系统总线,以减少对系统性能的影响。它通过压缩技术将跟踪信息输出,由外部跟踪端口分析仪捕获。这些信息包括指令跟踪,显示了程序的执行路径和所有已执行的指令。由于信息被高度压缩,软件调试器需要原始的执行代码映像以解码跟踪数据。值得注意的是,自修改代码由于其动态性,无法通过ETM完全跟踪。
30.3.1 ETM配置
LPC23xx的ETM配置如表30.1所示,包括1个地址比较器对,用于设定触发条件;没有数据比较器,意味着不支持数据跟踪;配备4个存储器映射译码器、1个计数器和1个时序发生器。此外,还有2个外部输入和10字节深度的FIFO,以及4/8位宽的跟踪包。
总结起来,ETM是LPC23xx微控制器中一个强大的调试工具,它通过实时追踪指令执行,帮助开发者理解程序行为,优化代码性能。虽然存在一定的限制,如无法跟踪自修改代码,但在大多数常规应用中,ETM提供的信息对于系统调试和性能分析极具价值。配合软件调试器,ETM能为开发过程带来极大的便利,降低了问题定位的难度。
2024-04-07 上传
2018-03-29 上传
点击了解资源详情
点击了解资源详情
2023-10-29 上传
2023-08-02 上传
2023-03-23 上传
2023-10-10 上传
![](https://profile-avatar.csdnimg.cn/1a6c9b0a0b244b76ac901294b3adc49c_weixin_26735445.jpg!1)
锋锋老师
- 粉丝: 24
- 资源: 3929
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命