微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Coresight TMC 识别错误是什么意思?

如何解决Coresight TMC 识别错误是什么意思?

我正在尝试设置调试会话,并且我有我的启动脚本,我在其中定义了设计中每个核心瞄准器组件的基本地址详细信息。但不幸的是,对于 ETF 和 FUNNEL,我收到一条错误消息,指出“Coresight TMC 标识错误”,后跟我在执行“system.attach”命令时指定的地址。我已经交叉检查了地址,它是正确的。任何帮助将不胜感激。

谢谢。

解决方法

芯片上的标识寄存器未提供 TRACE32 PowerView 预期的值。如果漏斗配置错误,错误消息应该是“Coresight FUNNEL Identification register wrong”,所以我怀疑是ETF。

您在运行 SYStem.DETECT.DAP 时是否看到相同的地址?

根据您的修订版本,您可能有一个子文件夹 demo/arm/etc/etb,其中包含 ETB/ETF/ETR 帮助脚本,尽管这些可能仅在您的调试配置为正确映射。


漏斗。
确保在漏斗配置中包含每个 ATB [AMBA Trace Bus] 源的端口号。一种方法是双击 SYStem.CONFIG.FUNNEL1.view ATBSource 中的每个端口。 ETF 和漏斗组件有时可以具有深入的配置选项,例如 SYStem.CONFIG.ETF.StackMode,尽管这些选项通常是自动设置的,并且不需要作为 PRACTICE 脚本的一部分。

ETF。
应该没有太多配置。此 Coresight 组件有可能将自我报告为另一种类型。如果您重置配置(换句话说,忽略漏斗和 ETF),然后为每个有问题的 Coresight 组件附加、断开和执行 Data.dump 地址,则识别寄存器中应该有一些东西(地址+ 0xFC0 到 0xFFF)。通过交叉参考您在此处找到的内容与 Arm 的文档 — Coresight Components TRM 或嵌入式跟踪宏单元架构规范或 Coresight TMC TRM — 您可以看到 (a) 组件实际存在于预期的位置,以及 (b) 组件是正确的识别和配置。 (配置寄存器将位于与 ID 寄存器不同的地址偏移量。)SYStem.DETECT.DAP 应该做很多繁重的工作,自动识别甚至根据自我报告的方式配置每个组件,所以这一段仅当设备具有配置不当、异常或新发布的组件时才相关。


芯片制造商在芯片版本之间更改跟踪子系统布局的频率较低,甚至具有未记录的来源/链接/接收器。子系统更改应列在勘误表或文档历史记录中。

一些罕见的目标具有在 CoreSight ROM 表中完全断电甚至禁用(2'b10 而不是 2'b11)的跟踪子系统,并且必须根据 SoC 文档首先对这些子系统加电,然后在 TRACE32 中进行配置电源视图。

任何高级启动序列或异常配置详细信息通常包含在 TRACE32 安装中、demo/arm/hardware 子文件夹中或作为在软件。您的目标是否可以在该子文件夹中找到,或者您是否完全从基础架构定义芯片,例如SYStem.CPU CortexM4F

最后一点:确保 ETM.state 或任何相关命令(ETMLAETMOnChip)具有正确的详细信息。作为 ETM.Register 的一部分,如果 ETF 与调试器正确通信,您应该能够看到它的配置。

通过电子邮件向劳特巴赫支持人员发送电子邮件是快速解决问题的最佳选择。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。