CoreSight —— ARM 芯片的“黑匣子“(安全关键系统的生命线)
·
CoreSight 是什么?
-
官方定义:
ARM CoreSight™ 是 芯片级调试和追踪技术套件,用于嵌入式系统和 SoC 的 实时调试、性能分析、故障诊断
-
通俗解释:
如果把芯片比作 飞机,
CoreSight 就是 黑匣子(Flight Recorder)——
芯片崩溃时,它记录 最后 100 条指令、寄存器状态、总线事务,
让工程师能 精准定位故障原因(如 "WDT 超时导致安全状态机崩溃")。
为什么CoreSight是 Safety Island 的关键工具?

| 传统调试方式 | CoreSight 方式 |
|---|---|
| 用示波器测引脚(只能看时序) | 直接抓取芯片内部状态(指令流、数据流) |
| 需要物理探针(破坏性) | 非侵入式调试(无需物理接触) |
| 仅能看当前状态 | 记录历史轨迹(崩溃前 10ms 的完整执行路径) |
SI 中 CoreSight 的核心作用
故障诊断(ISO 26262 强制要求)
- 当 SPU 崩溃时,CoreSight 保存:
- 最后 100 条指令(通过
ERT路由到 Trace Buffer) - 寄存器快照(崩溃时的 PC、SP、R0-R12)
- 总线事务(NoC 上的读写请求)
- 最后 100 条指令(通过
- 输出路径:通过 SPU 的 UART 输出(用
minicom看到的 "CoreSight trace" 日志)
安全认证证据
- ISO 26262 要求:证明故障可追溯性(Fault Traceability)
- CoreSight 生成的 Trace Log 是认证核心证据
1[CORESIGHT] Trace: 2 PC=0x80001234, R0=0x00000001, 3 NoC: Read @0x20000000 (SAFETY_NOC) 4 WDT: Timeout at 12:34:56.789 - 没有 CoreSight,无法通过 ASIL-D 认证(车企会拒收芯片)。
实时监控(无侵入式)
- ERT(Embedded Trace Router):
- 路由所有调试数据流(如 SPU 指令、RAM 访问)
- 通过 带宽限制(仅 10% 总线带宽)避免影响实时性
- TPIU(Trace Port Interface Unit):
- 将调试数据 串行化 输出到 UART(
minicom看到的原始日志)
- 将调试数据 串行化 输出到 UART(
为什么叫 "CoreSight"?(技术冷知识)
- Core:指 CPU 核心(SPU 的 Cortex-R52)
- Sight:指 "看见"(See what's happening inside the core)
- 命名逻辑:
"让工程师 看见 CPU 核心内部 的执行状态"
实战:minicom 中看到的 CoreSight 日志
当 SPU 崩溃时,可能看到:
1[SPU] CoreSight: Trace captured!
2[SPU] PC=0x8000A123, LR=0x8000B456
3[SPU] R0=0x00000001, R1=0x00000002
4[SPU] WDT: Timeout (0x0A)
5[SPU] NoC: Read @0x20000000 (SAFETY_NOC)
解读:
PC=0x8000A123:崩溃时程序计数器指向的地址WDT: Timeout (0x0A):看门狗超时(错误代码 0x0A)NoC: Read @0x20000000:崩溃前访问了 NoC 地址 0x20000000
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)