zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ARM嵌入式跟踪缓冲器技术参考手册

2023-02-18 15:49:56 时间

随着工艺速度的提高,从嵌入式跟踪宏单元(ETM)获取芯片的跟踪信息越来越困难。这导致了在保持可接受的信号质量方面的困难,或者信号需要被解复用到非常多的跟踪端口引脚上。

解决办法是在芯片上提供一个缓冲区,将跟踪信息储存起来,以后再以较慢的速度从芯片上读取。

ETB存储由ETM产生的数据。缓冲的数据可以被调试工具使用JTAG(IEEE 1149.1)接口访问,如图1-1所示。

图1-1 SoC调试实现

提供片上缓冲器使ETM产生的跟踪数据(以系统时钟速率)能被调试器以较低的时钟速率读取。这消除了对跟踪数据的高速垫的要求。

这种缓冲数据也可以通过作为ETB一部分的基于AHB从属存储器映射的外设来访问。这使得运行在处理器上的软件可以读取ETM产生的跟踪数据。

第1-2页图1-1所示的主要块是:

ETM ETM

监控 ARM 核心总线并将压缩信息实时传递到 ETB,存储信息供以后检索。 然后数据通过 JTAG 跟踪端口传递到接口单元。

这是一个外部硬件设备,它将信息从跟踪端口传递到调试工具,例如 PC。 调试工具:

• 从接口单元检索数据

• 重建处理器活动的历史视图,包括数据访问

• 通过JTAG 接口单元和端口配置宏单元。

用户可定义的过滤器允许您限制在搜索错误时捕获的信息量,从而减少从跟踪端口分析器上传的时间。

嵌入式ICE

EmbeddedICE 是基于 JTAG 的 ARM 微处理器调试环境。 EmbeddedICE 提供 ARM 源代码级符号调试器、ARMxd 和嵌入在任何 ASIC 中的 ARM 微处理器之间的接口。 ARMxd 调试器可用于 PC 兼容平台和 Sun 工作站平台。

EmbeddedICE 提供

• 实时地址和数据相关断点

• 单步执行

• ARM CPU 的完全访问和控制

• 访问ASIC 系统。

EmbeddedICE 还允许嵌入式微处理器访问主机系统外设

JTAG接口

边界扫描是一种允许通过软件控制对 JTAG 兼容设备的边界引脚进行完全控制和观察的方法。 此功能无需专门设计的在线测试设备即可进行在线测试。

1.2 ETM的版本和变体

ETB被设计为与ETM的所有版本和变体一起使用。ETM是随着ARM处理器的发展而不断改进的项目。

表1-1中列出了ETM的历史。

ETB具有与ETMv1和ETMv2架构设备兼容的模式。 ETB也适用于通用跟踪端口接口,以便与未来架构版本兼容。

2.1 功能信息

本节提供基本功能信息:

• 接口

• 全局可配置性

• 第2-3 页的ETM 版本兼容性。

2.1.1 接口

片上 ETB 模块具有三个主要接口:

• 来自 ETM 的跟踪端口

• 一个 5 针 IEEE 1149.1 (JTAG) 接口

• 基于AHB 从机的内存映射外设,用于提供对ETB 寄存器的软件访问。

此外,ETB访问一个必须在目标技术中实现的跟踪RAM。由于可以集成大量不同的RAM,所以不可能提供一个单一的通用RAM接口块。因此,RAM接口被指定,但RAM块必须由系统集成商提供。RAM接口在第2-22页的跟踪RAM接口中描述。

ETB模块的方框图见第2-3页的图2-1。

2.1.2 全局可配置性

为了能够在 RTL 中配置跟踪 RAM 的深度,使用了三个常量:

• RAM_ADDR_WIDTH 用于定义:

— 跟踪 RAM 地址总线、读指针寄存器和写指针寄存器的宽度。

— 触发计数寄存器的宽度

— 从 RAM 深度寄存器中读取的值。

RAM 地址宽度最大为 32 位。 定义参数 RAM_ADDR_WIDTH 和派生参数 MSB_ADDR 位于文件 EtbDefs.v 中。

• RAM_BIT_WIDTH 用于启用要在RTL 中配置的跟踪RAM 的位宽(24 或32 位)。

如果您打算使用 32 位跟踪 RAM:

— 不收集跟踪时作为系统内存的 ETB

— TRACEOUTPUT 的所有 32 位。

否则使用 24 位跟踪 RAM。

• BYTE_WRITE 表示跟踪RAM 支持字节写入。 如果 ETB 用作系统内存,则必须如此。

图2-1 ETB模块框图

下载ARM嵌入式跟踪缓冲器技术参考手册请到一牛网论坛

https://bbs.16rd.com/thread-598758-1-1.html

(出处: 一牛网论坛)