ARM芯片架构之CoreSight高效的系统架构规范

news/2025/10/10 15:34:17/文章来源:https://www.cnblogs.com/tlnshuju/p/19133175

ARM芯片架构之CoreSight高效的系统架构规范

2025-10-10 15:29  tlnshuju  阅读(0)  评论(0)    收藏  举报

CoreSight System Architecture 规范

说明
本文基于 ARM 官方CoreSight Architecture Specification v2.0(Part D)内容进行独立理解与二次创作,
仅用于个人学习与技术研究。


1. 概述

1.1 CoreSight 系统架构的定位

ARM 提供的系统级调试与追踪(Debug & Trace)框架。就是CoreSight
在多核 SoC(System-on-Chip)中,它为实时调试、事件追踪、功耗域隔离以及架构拓扑自描述提供统一方案。
与 Part B「可见组件架构」和 Part C「可复用组件架构」相比,Part D 专注于系统整体

  • 如何组织和连接所有 CoreSight 组件
  • 如何被外部调试器自动识别
  • 如何保证在不同电源/时钟域下安全运行

2. 系统设计原则

2.1 时钟与电源域

  • 独立域划分:调试逻辑可与核心处理器、总线或外设分属不同功率域。
  • 调试可见性:即便某个域被下电,调试器仍可访问剩余域的组件。
  • 跨域同步:采用 AMBA APB/ATB 接口时需考虑跨时钟域的同步策略,保证 Trace 数据无丢失。

2.2 认证接口控制

CoreSight 在架构层面定义了Authentication Interface

2.3 内外部访问隔离

  • Debug APB:CoreSight 建议通过 AMBA3 APB 访问控制寄存器。

  • Internal vs External:系统需区分来自片上软件与外部调试器的访问,以避免被应用程序误改。
    在这里插入图片描述

  • 可使用锁存寄存器(LAR/LSR)机制防止非预期写入。


3. 物理接口

CoreSight 支持多种与调试器连接的标准化物理接口:

接口类型典型用途特点
ARM JTAG-20传统边界扫描兼容 IEEE 1149.1;引脚多但生态成熟
CoreSight-10 / 20高速 Trace引脚更少,支持串行/并行复用
ARM MICTOR大带宽并行 Trace适合实验室高速采集

这些接口不仅是“电气规范”,还规定了信号分配、接地与屏蔽要求,以确保数百 Mbps 甚至 Gbps 级的 Trace 数据稳定传输。


4. Trace Formatter(追踪格式化器)

Trace Formatter 是系统级Trace Sinks的一部分,用于在数据输出前进行格式化与封包。

  • 帧结构:采用时间戳、通道 ID、校验码等字段,保证多源 Trace 在下游器具中可重建。
  • 运行模式
    • Continuous:持续输出,适合实时在线分析。
    • Stop-on-Flush:在捕获结束后发送刷新帧,保证最后一批信息完整。
  • 带宽调节:可根据下游缓冲区状态进行流控,避免因接口瓶颈导致 Trace 丢失。

5. ROM Table —— 系统级拓扑发现的核心

5.1 设计目标

ROM Table 是CoreSight 框架自描述机制的关键。调试器连接芯片后,
无需预存硬件信息即可“自发现”所有可调试组件的地址、类型和层次关系。

5.2 基本结构

5.3 电源域 ID

ROM Table 每个条目可附带Power Domain ID

  • 调试器可据此判断组件是否处于上电状态。
  • 便于在大 SoC 中实现“按需上电”调试,降低待机功耗。

5.4 自动检测流程

调试器执行以下步骤:

  1. 连接物理接口(JTAG/SWD/CoreSight-20)。
  2. 读取顶层 ROM Table,获取子表和组件基地址。
  3. 递归探测:依次访问每个子表,直至枚举完整拓扑。
  4. 读取识别寄存器:通过 CIDR/PIDR/DEVTYPE 等确认组件类型与版本。

该流程保证即使芯片设计方未公开完整原理图,器具也能自动构建系统视图。

5.5 设计注意事项

  • 对齐与大小:条目地址需 4 字节对齐;当组件窗口超过 4 KB 时,需在 PIDR 中标明 SIZE 字段。
  • 可扩展性:规范允许多达 960+ 入口的扩展表,满足超大 SoC 需求。
  • 容错:调试器应在遇到无效或未上电条目时具备降级策略,避免扫描中断。

工程提示:ROM Table 的规划应在芯片早期设计阶段确定,否则后期改动会影响整个调试生态。


6. 框架级拓扑检测

“地图”,拓扑检测还需要实际“连线确认”:就是ROM Table 只


7. 合规性与验证

CoreSight 规定系统必须满足的Compliance Criteria,以保证不同厂商组件可互操作:

  • Debug 合规类:验证调试访问、锁存寄存器、认证接口等是否符合规范。
  • Trace 合规类:验证 ATB 带宽、Trace Formatter 输出格式、时间戳精度。
  • 多 DAP 拥护:在一个 SoC 上允许存在多个 Debug Access Port,要求地址映射和仲裁机制一致。

8. 工程实践与案例


9. 结语

CoreSight System Architecture 提供了一种统一、可扩展、自动发现的调试基础设施。
无论是移动设备还是高性能服务器,它都能在保证安全和功耗控制的前提下,实现
跨厂商、跨组件的调试与实时追踪。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【完结11章】基于Golang+Gin+Gorm+Vue3母婴商城项目实战

【完结11章】基于Golang+Gin+Gorm+Vue3母婴商城项目实战 学习地址:……/s/1_ay3ox2xP3UMwerJlE0yhw 提取码:r06p 在数字化转型浪潮中,母婴行业作为关乎民生与未来的重要领域,对线上服务的安全性、可靠性和用户体验…

25-1010 从房间回声看懂离散卷积原理

Figure 1:直达声在 t = 0 的冲激在房间内,假设在 t = 0 时刻有一个强度为 1 的冲激信号(蓝色)。 由于房间存在反射,当声音传播一段时间(例如 延迟 10 个时刻)后,会在 t = 10 左右接收到第一个反射声(红色)。…

(13)ASP.NET Core2.2 中的选项模式(Options) - 教程

(13)ASP.NET Core2.2 中的选项模式(Options) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

如何设计10亿用户级的微博Feed流系统并应对100W QPS的挑战?

随着社交平台用户量和内容数量的剧增,如何在技术架构上应对海量数据的实时处理,如何有效抵御极端流量带来的雪崩,成为每个互联网企业必须面对的核心问题。在这篇文章中,我们将详细解析微博Feed流的系统设计,如何利…

印度尼西亚股票实时数据API对接文档

概述 本文档详细说明如何对接StockTV全球股票API中的印度尼西亚股票数据。印尼股票市场是东南亚重要的金融市场之一,以雅加达综合指数为代表。 认证方式 所有API请求都需要在URL参数中包含API Key: key=您的API密钥基…

2025 年铝门窗厂家推荐榜,系统 / 智能 / 断桥 / 窄边 / 定制 / 全景 / 阳光房 / 隐框 / 隔声 / 防火铝门窗公司推荐

在当前铝门窗行业中,市场需求持续增长的同时,也面临着诸多亟待解决的问题。一方面,部分小型工厂缺乏完善的生产体系,生产的铝门窗产品在质量上难以保证,不仅材质不符合相关标准,在工艺细节上也存在诸多瑕疵,导致…

如何播放 M3U8 格式的视频

​ 要播放 M3U8 格式的视频,其核心在于使用正确的工具并获取有效的资源链接。您可以遵循以下详细步骤进行操作: 选择一款支持 M3U8 的播放器 这是成功播放的前提。请确保您安装的媒体播放器具备对 M3U8 格式或 HLS (…

20232304 2025-2026-1 《网络与系统攻防技术》实验一实验报告

20232304 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1.实验内容 本次实验以 Linux 可执行文件pwn1为对象,核心目标是通过三种技术手段触发程序中默认不执行的getShell函数(获取交互式 Shell),同时掌握底层…

lsh 的源码注释(1)

lsh 的源码注释(1)我正在通过 git@github.com:brenns10/lsh 这个项目学习如何实现一个 Shell。今天为源码添加了第一遍注释。 还有很多问号hhh /*****************************************************************…

Codeforces Round 1056 (Div. 2) A~D

A - El fucho 模拟。 胜者组共有 \(n-1\) 队进入败者组,进入败者组的会淘汰 \(n-2\) 队,最后剩两组再进行一场,总场数 \(2n-2\)。 不会算也可以直接模拟。点击查看代码 #include <bits/stdc++.h>using i64 = …

现代软件工程阅读和提问作业-1

在学习本课程之前,一直会有一种疑惑,即什么是现代软件工程?软件的开发? 首先谈一谈我对软件的理解,我认为比如手机使用的APP,小程序以及任何通过鼠标或手指点击能够执行特定功能的“工具”都叫软件。

一种CDN动态加速回源白名单选路及降低源站探测量的方法

本文分享自天翼云开发者社区《一种CDN动态加速回源白名单选路及降低源站探测量的方法》.作者:蒋辉 本方案主要包括以下几个方面: 1)本发明提出了一种减少跨运营商探测源站及回源的方法,技术方案流程图见附图1,具体…

Windows系统-应用问题全面剖析Ⅰ:德承工控机DA-1200在Windows操作系统下[开机黑屏]的解决方法 - Johnny

Windows系统作为全球市场份额最高的操作系统,承载着企业办公、个人娱乐、工业应用等多元场景需求。然而,在使用过程中若出现应用崩溃、兼容性冲突、性能出现异常等系统应用问题时,将会直接影响到用户体验甚至是生产…

Java文件路径/服务器路径的获取

Java文件路径/服务器路径的获取Java文件路径/服务器路径的获取 大家好,又见面了,我是你们的朋友全栈君。Java文件路径获取几种获取方式 getResourceAsStream ()返回的是inputstreamgetResource()返回:URLClass.getRe…

某中心在旧金山设立AGI实验室专注长期AI研究

某中心在旧金山成立全新AGI实验室,专注于开发能够在数字和物理世界执行任务的人工智能代理。实验室将结合大语言模型与强化学习技术,致力于实现能够从人类反馈中学习、自我修正并推断目标的实用AI系统。某中心在旧金…

Appcrawler自动遍历工具-智能遍历测试与测试用例生成

效率与成本的抉择 在软件开发过程中,测试环节直接影响产品质量和用户体验。随着系统迭代频繁、功能复杂化,企业在测试方法的选择上面临困境:手工测试灵活却效率低,自动化测试高效却前期投入大。那么,我们到底应该…

[USACO20FEB] Clock Tree S

一开始读错题意了。 然后以为自己做法假了,实际并没有。 有 \(O(n)\) 做法但我写的是 \(O(n^2)\) 的。 换根dp就行了,每次判断一下能不能成功。 注意如果到最后根是 \(1\) 也是可以成功的。点击查看代码 #include<…

完整教程:【Spark+Hive+hadoop】人类健康生活方式数据分析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

mysql查看表大小,4种实用方法

MySQL数据库运维中,掌握表的大小信息对于性能优化、容量规划和维护工作至关重要。本文将详细介绍4种查看MySQL表大小的实用方法,帮助你精准掌握数据库存储状况。 方法1:查看单个表的完整大小信息 使用以下SQL可以查…

微算法科技(NASDAQ:MLGO)开发延迟和隐私感知卷积神经网络分布式推理,助力可靠人工智能系统技术

随着人工智能(AI)技术的不断发展,智能服务的广泛应用正在深刻改变着各行各业的面貌。在这个过程中,基于深度学习的系统往往面临计算资源的巨大需求,尤其是在边缘设备上运行复杂的卷积神经网络(CNN)时,计算负载…