ARM芯片架构之CoreSight Programmers‘ Model 深入解析 - 实践

news/2025/10/9 13:16:59/文章来源:https://www.cnblogs.com/tlnshuju/p/19130899

ARM芯片架构之CoreSight Programmers‘ Model 深入解析 - 实践

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

CoreSight Programmers’ Model 深入解析

本章聚焦 CoreSight Programmers’ Model,这是 ARM调试体系的基石。它经过统一的寄存器框架,为所有调试与追踪组件提供一致的可编程接口,使硬件设计者、调试器厂商可以跨平台工作。

1. Programmers’ Model 的设计哲学

2. 地址空间与组件窗口

  • 每个 CoreSight 组件必须映射至少4KB 地址空间。
  • 若功能寄存器超过 4KB,可在低地址扩展,但0xF00–0xFFF区间必须保留标准管理寄存器。

2.1 多块组件支持

3. 通用管理寄存器

下表概述了所有 CoreSight 组件必须提供的关键寄存器:

偏移地址寄存器主要功能与说明
0xF00ITCTRL集成测试模式控制:进入/退出 Integration Mode,用于产测或系统级 Trace 路径验证,正常运行时应保持关闭。
0xFA0CLAIMSET声明调试器占用:设置相应位表示调试器正在使用该组件,用于多调试器协作避免访问冲突。
0xFA4CLAIMCLR释放调试器占用:清除对应位以释放资源。
0xFA8DEVAFF0设备亲和性 0:标识该组件归属的 CPU 簇/NUMA 域,便于多核体系调试映射。
0xFACDEVAFF1设备亲和性 1:与 DEVAFF0 配合,用于多簇/多核体系的组件归属识别。
0xFB0LARLock 访问寄存器:写入特定解锁键值(如 0xC5ACCE55)以允许修改受保护寄存器。
0xFB4LSRLock 状态寄存器:只读,报告锁定状态及是否可写,用于安全访问控制。
0xFB8AUTHSTATUS安全认证状态:指示 Secure/Non-Secure 访问结果,结合 TrustZone 限制调试权限。
0xFBCDEVARCH架构与厂商识别:提供架构版本、厂商 ID、设计版本号,驱动可据此选择兼容寄存器布局。
0xFC0~0xFC8DEVID*组件特性描述:说明该模块支持的 Trace 通道数、触发器数量等实现细节,不同 CoreSight 模块定义不同。
0xFCCDEVTYPE设备类型:提供高层次的组件类别标识,与 DEVARCH 搭配快捷确定组件角色(Trace Source/Sink/Link)。
0xFD0~0xFECPIDR0–7外设 ID:存储厂商、设计版本、修订号等信息,用于调试探测和芯片一致性验证。
0xFF0~0xFFCCIDR0–3组件 ID:识别组件是否符合 ARM CoreSight 规范,驱动据此判断寄存器块有效性。

在 CoreSight中,所有组件必须提供一组管理寄存器,位于其4KB地址窗口的最高0xF00–0xFFF 区间。下面详细解析关键寄存器及其设计要点。

3.1 集成测试与声明寄存器

3.2 锁定机制

  • LAR (0xFB0):Lock Access
    Register,写入特定解锁键值(通常是0xC5ACCE55)后才能修改组件配置。
  • LSR (0xFB4):Lock Status
    Register,指示当前锁状态以及是否协助锁定作用。
    > 设计建议:外部调试访问通常不受锁保护,但内部软件需在访问前解锁。

3.3 认证与安全

3.4 设备架构与类型

  • DEVARCH (0xFBC):提供架构 ID 与设计者 JEDEC 代码,如 ARM 为 0x23B。字段包括:
    • ARCHITECT[31:21]:设计者 JEP106 编码
    • PRESENT[20]:指示是否存在该寄存器
    • REVISION[19:16]:架构版本
    • ARCHID[15:0]:具体架构标识,如 ETMv4=0x4A13
  • DEVTYPE (0xFCC):区分模块效果类型。
    • MAJOR[3:0]:主类型,如 Trace Sink(0x1)、Trace Link(0x2)、Trace Source(0x3)、Debug Control(0x4)。
    • SUB[7:4]:子类型,如 TPIU=0x1、ETB=0x2。
      在这里插入图片描述

3.5 设备配置与能力

3.6 设备亲和性

  • DEVAFF0 (0xFA8)DEVAFF1 (0xFAC):用于描述与其它组件的唯一绑定关系,例如 ETM与处理器核心的对应。调试器行通过比较这些寄存器自动识别配对关系。

3.7 外设与组件识别

4. 访问规则与安全机制

  • RAZ/WI:未搭建位读零写忽略。
  • RES0/RES1:保留位读出固定值,写入无效。
  • 安全调试需配合 SoC 级 TrustZone 信号与 DAP 配置。

5. 组件类别与调试流程

调试器借助 ROM Table 递归遍历组件树,利用 PIDR/CIDR自动发现所有可调试单元。

6. 硬件设计要点

  • 电源域:管理寄存器应保持独立电源,确保在核心下电时仍可访问。
  • 时钟域:为降低功耗,可单独为调试模块调整时钟门控。
  • 版图布局:保证 ATB 链路的时序和信号完整性,避免高速 trace 丢包。

7. 与调试器的交互示例

  1. 调试器读取 ROM Table 获取组件基址。
  2. 读取 CIDR 确认组件类别。
  3. 读取 DEVARCH/DEVTYPE 确认具体能力。
  4. 根据 DEVAFF0/1 建立 CPU–ETM 配对。
  5. 借助 LAR 解锁并配置 Trace。

结语

Programmers’ Model以标准化寄存器框架为核心,使得跨厂商、跨平台的调试器得以在无需定制的情况下高效发现和运行
CoreSight 组件。理解这些寄存器及其访问规则,是硬件工程师构建可调试 SoC的基础。

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

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

相关文章

个人微信机器人开发指南!API接口轻松上手

个人微信机器人开发指南!API接口轻松上手,微信协议开发个微API 常见开发功能: 好友管理: 维护好友列表:包括添加、删除、修改好友信息。 分组管理:创建、编辑、删除标签,以便更好地组织好友。 消息管理: 信息发…

网站开发需要哪些工程师荆门网站建设514885

From: http://blog.csdn.net/handsomewang527/article/details/1676259 随着我们开发的应用的日益复杂,像以往那样将所有功能坐在一个exe文件中情况越来越少,更多时候是整个应用由若干模块、甚至若干单独的exe文件组成,这就涉及到了模块或进…

国外域名抢注网站云南云南住房和城乡建设厅网站

1.概要 std::function 是 C11 引入的一个通用、多态的函数封装器。它可以存储、复制和调用任何 Callable 目标 —— 函数、Lambda 表达式、bind 表达式或其他函数对象。这使得 std::function 成为一个非常强大的工具,可以用来表示和操作一般的可调用对象。 2.代码…

AI大模型项目三连炸:多模态监控平台+RAG推荐系统+智能体智驾系统

/s/1tEUpUpSwfsGiNGtubuNRUA 提取码:88lc 我们正站在一个历史性的拐点。如果说过去的AI发展是涓涓细流,那么2024年,我们见证的是一场真正的“大爆炸”。短短数月间,三大AI大模型项目以近乎爆破的方式横空出世——多…

做网站想要个计算器功能网站建设 广州网站建设专业公司

背景: 前几天老师交给我一个任务,给我一个基因列表,让我查找它们所编码的蛋白质的蛋白质序列。我上了一下uniprot数据库,发现这个任务可以分成两步: 找到这个基因在Uniprot数据库中所对应的蛋白质编码根据蛋白质编码…

PWN手的成长之路-13-jarvisoj_level0

远程连接环境,查看交互。输出了一句 Hello,World,之后就无任何反应了。file 查看文件。64位 ELF 可执行文件。checksec 查看文件安全属性。只开启了 NX 保护。IDA 打开文件。查看 main 函数发现最后 return 的是 vul…

淘宝做海淘产品 网站折扣变化快贵州凤冈新闻今天

每个DMA通道硬件触发源是不一样的,要使用某个外设的硬件触发源,就必须使用它连接的那个通道 12个独立可配置的通道:DMA1(7个通道),DMA2(5个通道) 每个通道都支持软件触发和特定的硬件触发 C8T6 DMA资源:DMA1 &#xff…

计算机毕设 java 基于 Java 的题库管理强大的系统 基于 SSM+JavaWeb 的题库全流程管理平台 Java+MySQL 的题库服务一体化系统

计算机毕设 java 基于 Java 的题库管理强大的系统 基于 SSM+JavaWeb 的题库全流程管理平台 Java+MySQL 的题库服务一体化系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !im…

微信最新协议API上线!个人号快速接入

微信最新协议API上线!个人号快速接入,个人微信二次开发API接口可拓展功能说明 1、个人微信多账号管理、聚合聊天、多个微信号同时登陆、多个微信号集中在一个窗口进行聊天,实现一人多号同时沟通快速提升沟通效率,提…

公司网站开发怎么做账专门做租房的网站

1、概念 大型单体应用拆分成多个独立部署运行的微服务(解决并发问题)​​​​​​​ 2、特点 3、技术栈 4、微服务带来的问题 ​​​​​​​ 5、微服务的注册中心 服务注册与发现:微服务实例在启动时会向注册中心注册自己的信息&#xf…

中山网站建设哪家好常见的手机网站

class Solution { public: int climbStairs(int n) { vector<int>dp(n1,0); dp[0]1; for(int j0;j<n;j){ for(int i1;i<2;i){ if(j>i) dp[j]dp[j-i]; } } return dp[n]; } }; 这个题还是说想清楚 这个因为有1和2 阶的情况 所以i就是从1开始遍历 然后小于等于…

Python科学计算工具:Numpy与Pandas入门 - 指南

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

天津网站seo策划建网站哪个好 优帮云

特殊的质数肋骨 时间限制: 0 Sec 内存限制: 128 MB题目描述 农民约翰的母牛总是生产出最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质…

响应式网站建设联雅久久项目咨询有限公司

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;它可以让 JavaScript 代码在服务器端运行。在 Node.js 中&#xff0c;fs 模块是用来处理文件系统操作的模块。通过 fs 模块&#xff0c;我们可以进行文件的读取、写入、删除等操作。本教程将介绍如何在 No…

Firefox火狐浏览器插件下载、安装路径、备份插件、手动安装插件

前言全局说明一、说明 1.1 环境: Windows 7 旗舰版 Firefox 115.12.0esr (64 位)二、下载插件临时路径 系统缓存目录下.xpi文件就是 C:\Users\{你的用户名}\AppData\Local\Temp或 C:\Users\%username%\AppData\Local\T…

网站建设标准昆山室内设计学校

AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;是一种开放的汽车电子系统架构标准&#xff0c;旨在提供一种统一的软件架构&#xff0c;以实现汽车电子系统的模块化和可重用性。 AUTOSAR标准中的两个重要模块是RTE&#xff08;Runtime Environment&…

百度推广做网站吗网上医疗和医院网站建设制作

ftp服务器在虚拟机中配置文件 内容精选换一换由于主机中 /etc/ssh/sshd_config 配置文件中对服务器与客户端交互的活动心跳时间做出了限制&#xff0c;所以在一个ansible任务中如果在“规定时间”中主机没有任何响应则ssh服务断开(注&#xff1a;上述“规定时间”是指在/etc/ss…

芦苞建网站公司scrm企业微信管理系统

前言原计划打算在春节期间多分享几篇技术文章的&#xff0c;但到最后一篇也没出&#xff0c;偷懒了吗&#xff1f;算是吧&#xff0c;过程是这样的&#xff1a;每次拿出电脑&#xff0c;在孩姥姥家的院子总有阳光沐浴&#xff0c;看不清屏幕&#xff0c;回屋又有点冷(在强行找理…

2025.10.9午后有感

对自己、对世界上永远有的年轻人,想这样说:“世界没有你曾梦想中的那般好,但也远远不及你厌恶的那般差,在纷杂的琐碎间,寻找到足以令你坚定下去的对世界有益的事业,足以抵挡一切荒芜和恐怖”。

Firefox火狐浏览器插件下载、安装路径

前言全局说明一、说明 1.1 环境: Windows 7 旗舰版 Firefox 115.12.0esr (64 位)二、下载插件临时路径 系统缓存目录下.xpi文件就是 C:\Users\{你的用户名}\AppData\Local\Temp或 C:\Users\%username%\AppData\Local\T…