多核调试与跟踪

概述

无限制的多核调试,即使是最复杂的调试也能胜任芯片

系统级芯片 (SoC) 是各种电子系统中计算和通信的大脑。随着应用日益复杂,支持这些应用的 SoC 也在不断增加。不仅内核数量在不断增加,而且不同内核的数量也在不断增加。使用TRACE32®,您甚至可以调试和跟踪最复杂的SoC,包括在多核上运行的应用程序、操作系统、管理程序和其他软件。总之,TRACE32® 能让您深入了解整个嵌入式系统。

调试 150 多种支持内核的混合物架构

通过一个调试接口和一个debug probe ,同时调试来自不同架构 的内核,从而深入了解整个嵌入式系统。

使用 AMP 执行并发和同步调试

通过对 AMP 系统中的所有内核进行同步运行控制,同时调试来自不同架构 的内核。

管理运行多个操作系统和虚拟机管理程序的复杂系统

要深入了解整个嵌入式系统,不仅要调试应用程序,还要调试多个操作系统和管理程序。

探索异构多芯片系统

调试复杂的嵌入式系统,这些系统由两个或多个 SoC 组成,每个 SoC 可以有多个相同或不同的内核。

简化多核系统调试

使用我们自创的 iAMP 方法(集成非对称多处理),在一个图形用户界面中调试具有 SMP 功能的 CPU 集群,并对所有内核进行同步运行控制。

实时跟踪异构和同构多核系统

使用异构或同构处理器混合架构 ,通过同一跟踪端口同时记录来自多个内核的跟踪。

多核调试

无缝调试任何多核系统

无论您使用哪种多核系统,TRACE32® 都支持。无论是对称多处理 (SMP)、非对称多处理 (AMP)、集成非对称多处理 (iAMP)、混合 AMP/SMP 和多芯片 系统,还是拥有超过 1000 个内核的多核架构 ,都没有关系。我们的PowerView 软件具有业界领先的所有功能,仍然是所有芯片 和所有内核的统一用户界面。

异质多核系统

AMP 系统有多个内核,每个内核分别执行不同的任务。我们的PowerView 软件可为任何混合内核架构 提供一致的图形用户界面和功能集。您可以通过单个debug probe 调试多达 16 个同步PowerView 实例的各种多核配置。

  • 异质 AMP 系统
    在系统中,每个内核都可能有自己的内核架构 、内存模型、操作系统、地址转换和调试符号,以及自己的物理地址空间。
  • 多芯片 AMP系统
    一些嵌入式控制单元包含多个独立的多核 SoC。您可以通过菊花链 (JTAG)、星形拓扑 (cJTAG/SWD) 或使用带有CombiProbe 的两个晶须将它们组合起来进行调试。
  • 组合式 AMP/SMP 系统
    多核 SoC 通常包含一个由相同的高性能应用内核组成的 SMP 集群,周围是由其他 CPU 内核组成的混合内核架构 ,用于执行专用任务。

同质多核系统

SMP 系统有多个内核为一个共同目标服务,所有内核都有完全相同的内核架构 。我们的PowerView 软件可以在一个图形用户界面中调试所有内核,无论是否有操作系统或管理程序,内核数量从 2 个到 1 024 个不等。您可以同时启动和停止所有内核,也可以只关注一个内核。

  • 将 SMP内核视为操作系统资源
    在 SMP 系统中,可以将 CPU 内核视为目标操作系统的执行资源。调试的重点是并行执行的任务,而不是哪个内核实际执行哪个任务。
  • Arm® DynamIQ 共享单元(big.LITTLE)
    在单个PowerView GUI 中,您可以使用 DynamIQ 调试 SMP 系统。DynamIQ 将高性能内核与高能效内核相结合,允许操作系统关闭当前不需要的内核,以节约能源。
  • 管理程序协调多个操作系统
    如今的 SMP 多核集群通常同时使用多个操作系统,并由hypervisor 保护物理内存。即使是这些最复杂的系统,PowerView 也能在您身边进行调试。

多核系统

多核系统是高性能计算系统中的一种特殊形式的多核系统,其典型特征是运行多个操作系统。我们现在发明的 iAMP 允许通过单个PowerView GUI 实例调试逻辑上耦合的相同内核,并对所有内核进行同步运行控制。

  • 在单个图形用户界面中进行大规模多核调试
    即使没有Hypervisor ,PowerView ,也能将相同的内核逻辑地分组到机器中,每个机器都有自己的目标操作系统。
  • 带有 SMP 集群的 iAMP 系统
    iAMP 允许将多达 1 024 个内核组合成多达 30 台虚拟机,其中一台机器可以是单个内核,也可以是一个 SMP 子系统。

 

SMP

AMP

iAMP

调试同质内核*

调试异构内核

 

 

在一个PowerView GUI 中调试所有内核

 

在多个PowerView GUI 中调试内核**

 

 

使用hypervisor 静态分配访客

使用hypervisor 与动态核心分配

 

 

使用可管理多个内核的单一操作系统

 

 

使用多种操作系统

 

同步运行

异步运行

 

 

*:相同内核或至少具有相同指令集的内核。

**:最多 16 个。

找到满足您需求的理想调试模式

如果您想为任何多核系统创建一个新的 TRACE32® 设置,您可以选择 SMP、AMP 和我们自创的 iAMP。表格为您提供了最重要的用例的快速概览,您可以在上面的详细说明中找到可能的配置。

找到满足您需求的理想调试模式

如果您想为任何多核系统创建一个新的 TRACE32® 设置,您可以选择 SMP、AMP 和我们自创的 iAMP。表格为您提供了最重要的用例的快速概览,您可以在上面的详细说明中找到可能的配置。

 

SMP

AMP

iAMP

调试同构内核*

调试异构内核

 

 

在一个PowerView GUI 中调试所有内核

 

在多个PowerView GUI 中调试内核**

 

 

使用Hypervisor 静态分配访客

使用Hypervisor 与动态核心分配

 

 

使用可管理多个内核的单一操作系统

 

 

使用多种操作系统

 

同步运行

异步运行

 

 

*:相同内核或至少具有相同指令集的内核。

**:最多 16 个。

iAMP 系统的多核调试配置

为多核系统的所有内核提供单一调试器

多核系统是多核系统的一种特殊形式,以运行多个操作系统为典型特征。这种系统以前主要用于高性能计算领域,现在越来越多地用于嵌入式设计。现在,我们发明的 iAMP 允许通过单个PowerView GUI 实例调试逻辑上耦合的相同内核,并对所有内核进行同步运行控制。

多核离线芯片 追踪

在 AMP、iAMP 或 SMP 系统中执行多核离线芯片 追踪

在此示例中,您可从自己的PowerView GUI 跟踪每个 SMP 子系统和单个内核,最多可使用 16 个PowerView GUI。PowerView 可独立启动和停止每个 SMP 子系统和单个内核,但它们也可以同步。在下列情况下,像这样的离芯片-Trace 配置是理想的选择:

  • 您希望从我们的 TRACE32® PowerTrace 模块中的超大跟踪缓冲区中获益,以长期收集跟踪信息,这对于代码覆盖率和时序分析以及许多故障排除方案都至关重要。
  • 在继续跟踪之前,您不必定期停止目标机读取芯片 跟踪缓冲区中的跟踪信息,并将其传输到主机上。
  • 芯片 上没有足够的跟踪缓冲区(或跟踪缓冲区大小不够,无法满足需要)。
  • 您希望以最大带宽将跟踪数据流传输到主机。
多核跟踪

同时分析所有内核的实时行为

有时,传统的停止模式调试可能不够充分。我们的跟踪扩展提供的程序流程数据可以准确显示哪些指令已被执行,以及执行这些指令所需的时间,而不会干扰正在测试的应用程序。这对于查找运行时才会出现的难以发现的错误、确保应用程序满足所有时序要求或创建用于认证的代码覆盖率报告等都非常有用。

利用我们的跟踪工具,您可以在任何提供跟踪接口或芯片 缓冲器的多核 SoC 上捕获实时跟踪。您使用的多核系统类型并不重要:对称多处理 (SMP)、非对称多处理 (AMP)、集成非对称多处理 (iAMP) 或任何混合类型。现代多核 SoC 会合并所有内核的跟踪数据,因此您只需要一个跟踪探针就能捕捉到所有内核的离线芯片 跟踪数据。

多核离线芯片 追踪

关闭芯片-Trace 是理想的选择:

  • 您希望找到只在实时情况下出现的海森虫。如果错误只是偶尔出现或原因复杂,您可能需要长时间记录。
  • 您需要进行代码覆盖和时序分析,这就需要长时间收集跟踪信息。我们的 TRACE32® PowerTrace 模块提供的大容量跟踪缓冲区可确保长时间记录。
  • 您希望将跟踪数据流传输到主机,以实时查看代码覆盖结果,或捕获超长的跟踪记录以进行非常全面的分析。
  • 您不可能定期停止目标机。因此,将芯片 上的少量跟踪缓冲区传输到主机上是不可能的,您需要的是芯片 下的大量跟踪缓冲区。
  • 芯片 上没有足够的跟踪缓冲区(或者跟踪缓冲区的大小不足以满足您的需求)。

多核在线芯片 追踪

芯片-Trace 适用于以下情况:

  • 您要找到海森虫,它只会实时出现。
  • 芯片 上的跟踪缓冲区大小有限,足以为您的故障排除方案收集必要的跟踪信息。
  • 您不必在较长时间内执行实时跟踪。
  • 您不需要代码覆盖率和定时分析。
  • 芯片 仅有一个调试端口,没有单独的跟踪端口。
调试和跟踪流行的多核 SOC

我们的工具包罗万象

我们的 TRACE32® 调试和跟踪工具涵盖了所有流行的多核 SoC。在本节中,您将看到来自不同的知名芯片 制造商的七个非常成功和复杂的 SoC 示例,以及您理想的 TRACE32® 配置,以方便快捷地调试和跟踪它们。

调试和跟踪 AMD Zynq™ UltraScale+™ MPSoC

适用于各种嵌入式应用的异构多处理平台。

执行:

  • 4 x 应用内核 Arm® Cortex®-A53
  • 2 x 实时内核 Arm® Cortex®-R5F。
  • 1 x 平台管理单元 MicroBlaze Hard-IP。
  • FPGA 逻辑中的可选 Arm® Cortex®-M3、Cortex®-M1 和 MicroBlaze 软核。

应用内核通常配置为运行 Linux 等丰富操作系统的 SMP 集群,而其他内核通常异步运行。

我们的 TRACE32® 工具可以同时调试所有内核。您可以通过并行或串行离芯片-Trace 或通过 On-芯片-Buffers 跟踪 Cortex-A 和 Cortex-R 内核。

探索最适合 ZYNQ 的 TRACE32® 工具

调试和跟踪 Infineon AURIX™ TC4x

用于汽车应用的 MCU,侧重于嵌入式安全、安保和实时控制。

执行:

  • 多达六个 TriCore™ V1.8.内核。
  • 可选通用定时器模块 (GTM)。
  • 基于 ARC-EV 的并行处理装置(PPU)。
  • 基于 TriCore 的网络安全实时模块 (CSRM)。
  • 基于 XC800 的待机控制器 (SCR)。
  • 可编程数字信号处理(cDSP)。

所有内核通常与运行 AUTOSAR 操作系统的主要 TriCore 内核异步 (AMP) 运行。

我们的 TRACE32® 工具可同时调试所有内核。AMP 可用于所有内核,其中 SMP 和 iAMP 也可用于 TriCore。主要内核可通过串行关芯片-Trace 或 On-芯片-Buffers 进行跟踪。

探索最适合 AURIX 的 TRACE32® 工具

调试Intel® Xeon® Silver 处理器

Intel® Xeon® Silver 处理器为数据中心的入门级计算、网络和存储提供了更高的内存速度、低延迟和能效。

执行:

  • 多达 12 xIntel® Sapphire Rapids x86 CPU

我们的工具可以同时调试所有内核。通过芯片-Buffers 支持实时跟踪。

探索最适合Intel® Xeon® 的 TRACE32® 工具

调试 NVIDIA DRIVE™ Orin™ SoC

智能汽车的中央计算机,为自动驾驶功能、信心视图、数字集群和人工智能驾驶舱提供动力。

执行:

  • 12 x Arm® Cortex®-A78AE
  • 4 x Arm® Cortex®-R52

我们的工具可同时调试所有内核。可在 AMP、SMP 或 iAMP 配置中调试所有内核。通过高速串行跟踪或通过芯片 缓冲区支持实时跟踪。

探索最适合 Orin 的 TRACE32® 工具

恩智浦 i.MX8 QuadMax

工业、汽车和信息娱乐应用处理器

执行:

  • 1 x 高性能应用核心 Arm® Cortex®-A72
  • 4 x 高效应用内核 Arm® Cortex®-A53
  • 2 x 实时内核 Arm® Cortex®-M4F
  • 1 x 系统控制单元 Arm® Cortex®-M4F
  • 1 x 音频处理器 Cadence® Tensilica® HiFi 4 DSP Xtensa-LX7
  • 1 x 安全控制器 (SECO) Arm® Cortex®-M0+
  • 1 x 平台管理单元 MicroBlaze Hard-IP

应用内核通常运行丰富的操作系统,如 AUTOSAR Adaptive、Linux、Android Automotive 或 QNX,其中 Cortex-A53 内核作为 SMP 集群运行。实时内核通常运行 AUTOSAR Classic 或其他实时操作系统。

我们的工具可通过单一调试接口(SWJ-DP)同时调试所有内核。所有应用内核和实时内核都可以通过芯片-Buffers 或芯片 的 PCIe 接口进行跟踪。

探索最适合 i.MX8 QuadMax 的 TRACE32® 工具

调试高通 Snapdragon™ SoC

用于移动设备和汽车的处理器系列。

执行:

  • Kryo 或 Krait Armv7/v8 应用内核。
  • Qualcomm® Hexagon™ DSP
  • 更多的子控制器、图形处理器和数字信号处理器。

骁龙处理器通常包含大量 CPU 内核。

我们不仅支持应用内核,还支持 SoC 上的大多数其他内核。像往常一样,我们的目标是通过单一物理接口同时调试所有内核。

每款 Snapdragon 的确切拓扑结构是保密的。有关详细信息,请联系高通公司。

探索最适合 Snapdragon 的 TRACE32® 工具

调试和跟踪德州仪器 AM69Ax

用于自主移动机器人和机器视觉的处理器

执行:

  • 8 x 应用内核 Arm® Cortex®-A72 分成两个集群。
  • 2 x 通用计算实时内核 Arm® Cortex®-R5F。
  • 2 x 设备管理内核 Arm® Cortex®-R5F。
  • 4 x 深度学习加速器 TI C7x DSP。
  • 2 x 安全管理内核 (SMS) Arm® Cortex®-M4。

两个应用集群通常与 Linux 等丰富的操作系统同步运行,而其他内核通常异步运行。

我们的 TRACE32® 工具可通过芯片的并行跟踪端口 (TPIU) 并发调试和跟踪所有内核,端口大小最大为 32 位。

探索最适合 AM69Ax 的 TRACE32® 工具