Multicore Debugging API
真实硬件和软件模拟的统一调试界面
如今,SoC 设计流程跨越多个抽象层次,从高级模拟到最终的集成硬件。在整个设计过程中,各种现成的知识产权(IP)组件被组合在一起,以便在短时间内实现高质量的设计。IP 重用和集成开放式 SoC 设计平台(SPRINT)项目已着手开发一个基于标准的平台,支持创建可互操作和重用的 IP,并将其高效集成到高级 SoC 中。SPRINT 联盟由 IP 业务领域的众多公司和研究机构组成,包括提供商和用户。
Within the scope of this project, ARM, Infineon Technologies, Lauterbach, NXP Semiconductors, STMicroelectronics and TIMA Laboratory jointly created the Multicore Debugging (MCD) API. It was designed to provide debug tools with a unified debug interface to both real hardware and software simulations. This allows engineers to start the application development early in the SoC platform design flow without having to switch to other debug tools during the transition from virtual prototypes to real hardware. Furthermore, the MCD API addresses multi-core debugging which is inevitable due to the complexity of today's SoC designs. Experiments within the SPRINT project have proven the feasibility and applicability of the interface.
功能强大而简单的 C 语言接口
MCD 应用程序接口为多核 SoC 的高效应用调试提供了必要的手段,它包含一组子应用程序接口,提供以下功能:
目标连接
连接/创建和配置调试服务器,以便将调试工具连接到多核系统;一个系统的多个核可同时连接到一个工具。
目标系统描述
通过 API 函数调用和 IP-XACT 描述(如 SPIRIT 联盟所规定的)检索连接系统的信息;实现调试工具的可重定向性以及额外的调试和分析功能。
目标运行控制
为多核系统设计的运行控制;系统处理单元对这些调用的反应可以逐核配置。
触发器支持
通用触发器接口;提供预定义的触发器类型(如用于断点)并允许自定义类型;可通过触发器总线进行交叉触发。
跟踪支持
通用跟踪界面;提供预定义跟踪源,并允许自定义跟踪源。
内存和寄存器访问
使用事务列表的统一内存和寄存器访问机制。