当前位置: 首页 > news >正文

ARM芯片架构之CoreSight SoC-400 组件介绍

CoreSight SoC-400 组件介绍


1. Debug Access Port (DAP)

  • 功能:DAP 是外部调试器与 SoC 内部调试基础设施的接口核心。它将调试端口(JTAG-DP 或 SW-DP)与多个访问端口(AP)连接起来,使调试器能够访问内存、外设寄存器以及 CoreSight 组件。
  • 关键点
    • 支持多种 AP 类型(AHB-AP、APB-AP、AXI-AP)。
    • 可通过选择机制访问不同的调试目标。
    • 负责调试访问的仲裁与路由。
      在这里插入图片描述
  • 技术实现
  • SWJ-DP(Serial Wire/JTAG Debug Port)
    • 双协议支持:同时处理SW-DP(串行线协议)和JTAG-DP(传统JTAG协议)
    • 电源管理机制:
      • 通过cdbgpwrupreq信号请求调试域上电
      • 通过csyspwrupreq信号请求系统域上电
      • 接收电源控制器的cdbgpwrackcsyspwrack确认信号
  • AP(Access Port)子系统
    • AXI-AP:将调试请求转换为AXI总线事务(支持AXI3/AXI4)
    • APB-AP:生成APB总线访问(32位地址空间)
    • JTAG-AP:直接访问JTAG接口的处理器调试资源
  • DAPBUS互联架构
    • 通过DP的SELECT寄存器路由请求(dapcaddrs[15:8]选择AP)
    • 支持多AP并行访问(最大256个AP)
    • 时钟域隔离:独立调试时钟与系统时钟域

2. Debug Port (DP)

  • 功能:提供物理层调试链路接口,支持 JTAG 或 Serial Wire Debug 协议。
  • 关键点
    • JTAG-DP 提供多信号调试接口,带宽较高。
    • SW-DP 提供双线接口,减少引脚占用。
    • 管理调试连接的建立、保持与终止。
    • 功能:作为外部调试工具访问SoC内部资源的核心枢纽

在这里插入图片描述


3. Access Ports (AP)

  • 功能:AP 是 DAP 后端的访问节点,负责通过指定总线协议与系统内部资源交互。
  • 类型
    • AHB-AP:通过 AHB 总线访问系统内存与外设。
    • APB-AP:通过 APB 总线访问低速外设及 CoreSight 配置寄存器。
    • AXI-AP:提供高带宽 AXI 总线访问能力。
  • 作用:为调试器提供对系统总线的直接读写访问。

4. Embedded Trace Macrocell (ETM)

  • 功能:ETM 是高精度指令跟踪单元,可实时记录处理器执行路径。
  • 关键点
    • 提供精确的分支与跳转跟踪。
    • 支持基于事件的触发与停止。
    • 可插入上下文 ID、时间戳信息,帮助性能分析。

5. Program Trace Macrocell (PTM)

  • 功能:提供程序流的压缩跟踪数据,用于较低带宽的 trace 输出。
  • 特点
    • 对于分支、跳转等事件提供编码信息。
    • 资源占用与功耗较低,适用于资源受限系统。

6. System Trace Macrocell (STM)

  • 功能:产生系统级事件 trace,可由软件或硬件触发。
  • 关键点
    • 支持多通道数据输入。
    • 软件可直接写 Stimulus 寄存器生成 trace 数据包。
    • 常用于操作系统事件跟踪与性能分析。

7. Instrumentation Trace Macrocell (ITM)

  • 功能:面向 Cortex-M 系列,支持事件记录与时间戳插入。
  • 特点
    • 与 DWT(Data Watchpoint and Trace)结合使用。
    • 用于嵌入式系统的轻量级调试。

8. Trace Funnel

  • 功能:将多个 trace 数据源合并为一条 ATB 数据流。
  • 关键点
    • 支持通道使能与屏蔽。
    • 可配置输入优先级,确保关键 trace 数据优先传输。

9. Trace Replicator

  • 功能:将一条 ATB trace 数据流复制到多个目的地。
  • 应用
    • 同时将 trace 数据发送到片上缓冲(ETB)和外部接口(TPIU)。
    • 在调试和性能分析中并行使用多个 trace sink。

10. Embedded Trace Buffer (ETB)

  • 功能:片上环形缓冲区,用于存储 trace 数据。
  • 关键点
    • 支持停止模式(Stop-on-full)和循环模式(Circular Buffer)。
    • 适合无外部 trace 接口时的事后分析。

11. Trace Memory Controller / ETR

  • 功能:管理 trace 数据向片上 RAM 或系统内存的传输。
  • 特点
    • ETR 支持通过 AXI 接口直接写入 DDR 内存。
    • 提供更大容量的 trace 存储能力。

12. Trace Port Interface Unit (TPIU)

  • 功能:将 trace 数据格式化并输出到外部调试器或分析工具。
  • 特点
    • 支持并行和串行 trace 输出模式。
    • 可选输出速率和协议类型。

13. High-Speed Serial Trace Port (HSSTP)

  • 功能:将 trace 数据通过高速串行链路输出,减少引脚数。
  • 特点
    • 高速率传输,适合带宽需求大的 trace。
    • 常配合外部专用采集设备使用。

14. Cross Trigger Interface (CTI) & Cross Trigger Matrix (CTM)

  • 功能:在不同调试组件或处理器之间传播触发事件。
  • 关键点
    • CTI 负责事件输入/输出的管理。
    • CTM 作为交换矩阵连接多个 CTI,实现复杂的触发网络。
    • 可用于同步多核 trace 的开始和停止。
      在这里插入图片描述

15. Timestamp Generator

  • 功能:为 trace 数据流添加统一的时间戳。
  • 作用
    • 允许多个 trace 源数据对齐到同一时间基准。
    • 支持高分辨率计时,便于性能分析。

16. ROM Table

  • 功能:提供所有 CoreSight 组件的基地址映射。
  • 应用
    • 调试工具可自动扫描 ROM Table,识别系统中存在的调试组件。
    • 简化调试基础设施的自动发现过程。

http://www.dtcms.com/a/326884.html

相关文章:

  • 高效解耦:自定义内核链表实现指南(简化版)
  • LLM智能:从语言模型到通用智能体的技术跃迁
  • Java多线程基础总结
  • Python类装饰器:优雅解决描述符属性命名难题
  • 内存作假常见方案可行性分析
  • 【15-多类别分类和多标签分类】
  • SSE流式输出分层与解耦、用户自动结束语错误处理
  • 基于FPGA的热电偶测温数据采集系统,替代NI的产品(一)FPGA 测温研究现状
  • 【Python修仙编程】(20) 参悟参数真谛,林羽内力大增
  • 前端工程化:pinia
  • 【Leetcode】随笔
  • 【MATLAB 2025a】安装离线帮助文档
  • 学习嵌入式之IMAX6ULL——GUN工具链+点灯+SDK开发裸机驱动
  • 计算机网络:ovn数据通信都是用了哪些协议?
  • Java String类:不可变性的核心奥秘
  • Evaluation Warning: The document was created with Spire.XLS for Pyth用Python实现Excel转PDF并去除Spire.XLS水印
  • 银河通用招人形机器人强化学习算法工程师了
  • Python 类元编程(类工厂函数)
  • C语言(06)——二、八、十、十六进制的相互转换
  • Webpack Loader 完全指南:从原理到配置的深度解析
  • TRL - Transformer Reinforcement Learning 传递给SFTTrainer的数据集
  • 【linux】企业高性能web服务器
  • 多路转接 select
  • FinQ4Cn: 基于 MCP 协议的中国 A 股量化分析
  • CSS预处理器之Sass全面解析与实战指南
  • PowerDesigner生成带注释的sql方法
  • 腾讯前端面试模拟详解
  • 分享一款基于STC32G12K128单片机的螺丝机供料器控制板 ES-IO2422 S4
  • 浅谈 LangGraph 子图流式执行(subgraphs=True/False)模式
  • [鹧鸪云]光伏AI设计平台解锁电站开发新范式