- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
KeyStone多核SoC 工具套件:单个平台满足所有需求
概要
过去,实施和部署多核片上系统 (SoC) 器件的一大挑战一直都是为编程和调试这些平台提供适当的工具。开发人员要充分发挥多核性能优势,就必须进行高效率分区,并在这些核上运行高质量软件。复杂多核系统的调试会面临同步处理模式以及子系统接口访问受限所带来的其它复杂性。开发和调试多核 SoC 所花费的时间以及实现理想 SoC 性能的能力可用来衡量工具套件的优势。
TI 支持 KeyStone 扩展的 Code Composer StudioTM (CCStudio) 集成型开发环境包含业界最佳的多核数据可视化技术,支持调试、验证以及跟踪功能。TI 近期推出了全新 KeyStone 多核 SoC,其具有 ARM® RISC 处理器和 TMS320C66x DSP 核组成的异构组合。支持 KeyStone 扩展的 CCStudio 工具套件与KeyStone 器件及软件共同开发,为 SoC 提供了一个统一系统级视图,从而可直观查看 ARM 及 DSP 核、加速器以及外设。
KeyStone 多核 SoC 工具套件:
单个平台满足所有需求
介绍
随着处理器功能的增强,其复杂程度也在加大。这就使开发人员对软件进行调试、故障排除和维护的能力面临更大的挑战。随着多核处理器的推出,实施和分析工作的严格程度也在呈指数级上升。
试想下列情形:一群才华横溢的工程师在考虑有朝一日能使用这种振奋人心的新 SoC 开发全新的无线基站。这种新器件将帮助这些工程师所在的公司迅速高效地向市场推出极具竞争力的新产品。虽然选用的 SoC 是具有 RISC 和 DSP 核组合的异构多核器件,但工程设计团队还是按职能组建,分成了独立的 ARM 和 DSP 开发团队。他们清楚他们必须合作,共同在统一平台上解决整合系统软件的难题。问题是,有没有工具能够应付该 SoC 的复杂性?
工程设计团队的经理有类似的保留意见。虽然全新 SoC 有望实现性能的飞跃,实现显著降低的功耗以及比现有解决方案还低的成本,但工程团队管理人员清楚,采用其它 SoC 曾因集成、调试和系统测试流程中无限期的延迟和不能确定的进度,致使欠佳的调试及分析工具屡遭指责。该 SoC 平台的一个潜在优势是,软件可跨多种产品重复使用,但团队管理人员担心支持该 SoC 的工具是否真的可以及时用于重复使用和再测试。
最后,该产品线的业务管理人员也持谨慎态度。凭借部署日趋复杂产品的丰富经验,她清楚地认识到尽管最新一代 SoC 具有极好的新特性与新优势,但能否对其充分利用,及能否对开发团队可迅速成功实施的特性进行确定,这要取决于业务团队。在产品部署的业务方面,上市时间是个关键因素,产品调试、集成、测试以及试用中出现任何波折,都会给收入及利润带来负面影响。
那么,工程师究竟在探寻多核 SoC 器件开发工具的哪些特定功能呢?
首先,开发人员需要全局性的查看处理元素。他们不仅需要看到特定处理核上的事件,还需要同时看到所有核上的所有处理情况;
其次,他们需要能够看到处理元素之间的通信。要识别难以排除的故障,比如导致过长延迟的根源,在每个处理元素执行时必须要能看见所有的互动状况;
多核工具必备的一项重要功能就是,能够测量 SoC 每个元件的利用情况,以确定处理核是否得到适当的利用。开发人员需要确定分配给某个处理元素的任务是否已接近过载水平,如果是,如何重新均衡 SoC;
最后,还需要具备识别不畅流程并判断处理死锁和系统低效的能力。在多核 SoC 上开发软件解决方案的工程设计团队必须确保整个系统能够实时运行,系统的设计和分区可优化硅芯片架构。要保证这一点,软件开发人员必须下大力度实时了解运行中的解决方案。其结论就是随时可用于现场测试和最终部署的高集成产品。图 1 的示例就是这种调试模式下的 TI KeyStone 范例。
为满足这些需求,工具套件必须能解析 SoC 每个处理元素与接口的性能并提供报告。工具必须能够显示所有处理元件的同步及时序关系。只显示每个独立核或可编程实体是不够的。
采用德州仪器 (TI) KeyStone 多核 SoC 器件的产品开发人员非常喜欢基于 TI CCStudio 工具套件的业界最佳多核开发与调试工具。开发人员可迅速高效地解决深度系统级问题,确保最短的集成与测试周期。此外,当通过远程跟踪功能部署完产品后,他们还可充分利用这种详细深入的观察。这不但可对现场问题做出快速响应,而且还可游刃有余地为最终客户、服务提供商以及运营商提供支持。由于 TI 推出了首个异构多核器件集,在现有的 DSP 多核组合中添加了 ARM® 处理器,因此它现在可通过支持 KeyStone 扩展的 CCStudio 工具套件,将相同级别的覆盖范围及分析功能带给 ARM 开发人员。
图 1:从调试和跟踪的角度看 KeyStone 异构多核 SoC 架构 [p]
启动调试流程
分析仪套件是该工具链上的又一重要环节,其包含核级跟踪功能和系统级跟踪功能以及可充分利用片上软硬件事件嗅探器插装的逻辑分析器功能。此外,该套件还包含支持软件插装的 KeyStone 扩展 —— 多核系统分析器 (Multicore System Analyzer)。每款工具均支持特定使用案例,可充分利用多种彼此同步的技术实现更加完善的系统解决方案。综上所述,该套件可为通用全局时限提供整个核与工具的数据关联,同时可在整个工具中支持视图的同步滚动。
如图 2 所示,CCStudio 不仅提供用于 DSP 和 ARM 的代码开发工具,而且还具有分析工具套件,有助于实现开发阶段的性能优化。CCStudio 经过扩展,不但提供其长期以来一直具备的 DSP 支持,而且还整合了 LinuxTM 支持。这样 Linux ARM 开发人员就可在 CCStudio 环境中使用熟悉的 Linux GDB 调试器进行调试。CCStudio 能够以中止模式同步调试运行在 Linux OS 及其核上的 ARM 应用,实现执行流程的端对端跟踪。
可通过调试器同时控制核的功能是一项非常实用的多核调试特性,支持同步程序状态检测。如果开发人员为解决死锁与竞争状态,需要调试跨多个核运行的一致性程序,该特性就非常有价值。同步“死锁”运行及步进是对称多处理 (SMP) 环境中另一项重要调试功能,该环境需要以精细粒度形式理解互动的直观视图。CCStudio 的多核触发功能是另一项高价值特性,可用于查看处理器间的依赖性与性能。在 DSP和 ARM® 多核触发环境中,处理器或处理器集经配置后,可触发或响应外部处理器事件。例如,如果处理器 1 遭遇断点,就可向处理器 2 发出信号,要求其暂停运行或执行其它调试工作。该技术有助于发现间歇干扰、崩溃、失控代码以及伪中断。
图 2:多核的性能加上单核的简易性,可通过统一集成型工具查看和调试 DSP 及 ARM 核
核跟踪
跟踪分析器 (Trace Analyzer) 运行在核层面,可帮助开发人员分析 CPU 程序与数据跟踪并实现可视化。CCStudio 提供可在目标点设置和触发跟踪采集的不同途径。数据采集使用片上嵌入式跟踪缓存器 (ETB) 或 XDS 跟踪接收器硬件进行,可在充分使用 KeyStone 架构的硬件插装和非侵入式分析功能的同时在跟踪分析器中进行后处理。这有助于软件设计人员使用跟踪数据深入了解同函数与异函数 CPU 周期失速分析与高速缓存分析,优化系统性能。CCStudio 可为 DSP 和 ARM 两种核提供核跟踪支持,并包含传统 ETM 跟踪工具,可帮助 ARM LinuxTM 开发人员在其喜好的调试环境中工作。
跟踪分析器可通过几项重要特性实现高难度实时问题调试。首先,它包含有功能调用图,可帮助用户查看达到评估状态所采取的步骤。它还可提供针对详细 PC 跟踪数据的日志视图。DSP 与 ARM 核的源代码关联特性有助于确定每行代码与当前状态执行系统的关系。该分析器提供高级数据导航功能,包括查找、搜索与过滤控制、缩放与测量标记以及同步视图滚动等。所有这一切都得到了 CCStudio 工具库的支持。此外,跟踪分析器的结果能够以“csv”格式导出,可用于其它地方查看与分析。核跟踪是最常用的技术之一,可提供程序执行顺序的指令级直观视图。核跟踪无需代码插装,即可提供核级执行直观视图,在 TI KeyStone 架构中支持 DSP 和 ARM 核元素。
系统跟踪
对于需要调试系统级问题的情况而言,KeyStone 架构提供了片上系统跟踪模块。该模块提供硬件加速软件插装与硬件总线监测功能,可通过跟踪重要的事务处理点,“看见”从每个主接口到所选从接口之间的事务处理。开发人员可使用系统跟踪功能监控系统事务处理,进行非侵入式数据采集,并使用 CCStudio 逻辑分析器完成后处理。对于系统级直观视图而言,该技术不但可通过插装来自核的跟踪提供重要功能,而且还可将其与处理器外部的硬件监控事件相结合。
逻辑分析工具可为系统跟踪事件与消息提供图形化事件时限视图,用于显示数据吞吐量与使用案例分析,如下页图 3 所示。它不但可采用层级结构或平面结构管理大量的事件来源,而且还可提供诸如缩放、测量标记、书签以及分选等高级功能。
图 3:逻辑分析工具与系统跟踪模块的关联 [p]
LinuxTM 软件开发人员通过使用可加载 Linux 系统跟踪模块 (STM) 字符模式设备驱动器,可迅速发挥系统跟踪技术优势。无需任何应用代码更改,即可将调试数据与插装日志路由至 STM 端口,其还兼具传统“printf”调试功能的所有优势。例如,ARM® Linux 开发人员可使用标准 C 语言库打印功能,无需修改任何代码便可直接输出至 STM 设备。这样可将所有插装发送输出至系统跟踪端口,其不但可自动为消息打上时间戳,而且还能够与来自其它应用或任务的消息进行关联。
多核系统分析工具
在处理集成型应用软件时,可使用软件插装以及 KeyStone 元素的完整视图扩展基于硬件插装的核与系统跟踪功能。KeyStone 多核系统分析工具 (MCSA) 建立在统一插装架构 (UIA) 基础之上,其可定义一整套 API、接口与规范来采用软件插装实时采集数据。这可使来自 SoC 各个部分的插装组件协同工作。
与核及系统跟踪分析工具类似,MCSA 支持现场数据分析以及采集和后处理模式,可帮助软件开发人员测试进度与进程。可启用和禁用运行时间日志。MCSA 可轻松实现分析可视化,提供诸如执行图、持续时间分析、环境识别配置文件、负载分析以及统计分析等功能。MCSA 的一项重要优势是:它可通过以太网或 JTAG 端口进行本地系统分析。此外,它事实上还可通过以太网扩展嵌入式跟踪缓冲器。这可帮助远程软件开发人员或测试人员协助并参与应用软件集成和测试工艺。这些功能可促进对已部署系统的远程访问,大幅提升对现场报告缺陷及问题的响应能力。
软件团队成员可采用这种 KeyStone SoC 级分析仪高效完成其设计的验证以及系统级应用软件的调试。支持核外硬件辅助监控事件的系统级关联“执行流”对识别系统级互动问题非常有帮助。开发人员可获得嵌入在核中的器件级全局时间戳信息,而系统跟踪信息则可建立通用全局时基,这可为定时关联系统级事件和理解各种依赖性提供强大的方案。
互连总线嗅探器可在系统监控模式下设置陷阱捕获硬件事件与事务处理信息,从而可为总线地址和数据监控提供重要的直观视图。这种直观图可帮助团队分析 SoC 行为,诊断伪事务处理或事件。这些嗅探器采集的信息经过进一步处理,可与核跟踪信息关联起来,通过统一的视角提供 DSP 与 ARM® 核总线级直观视图。
此外,开发人员还可充分利用总线传输分析工具和性能监控器来提供整体总线与流量的直观视图,比如适用于通道、读取、编写以及释放量的 DMA 传输分析。另外还提供多个重要的性能优化信息集,比如吞吐量、通道交错以及传输时长等所提供的性能数据信息。性能监控器可为复杂的 SoC 互连提供非侵入式直观视图,帮助理解可持续数据带宽与时延特性。这对实现实时性能目标具有非常重要的意义。
CToolLib
被称为 CTools 的使能器套件是 CCStudio 工具套件及其 KeyStone 扩展背后的主要片上调试及跟踪技术。他们可在多个层面上提供工具:SoC 系统级、子系统与核支持,包括 IEEE 1149.1 (JTAG)。有了 CTools,KeyStone 工具套件既支持传统上基于 JTAG 外部仿真器的调试,也可提供无需外部调试器或跟踪采集器的现场(无 JTAG)调试及跟踪功能。通过使用 CToolsLib 产品组合,软件开发人员可充分利用嵌入式目标 API 集合实现对 CTools 调试及跟踪功能的便捷访问。CToolsLib API 以源代码形式提供,可简化工程师将其嵌入在自己的应用中,从而可在需要现场调试的时候在调试过程中进行现场访问。API 采用 C 语言编写,包含 HTML 文档与数据结构。该库套件包含的功能包括高级事件触发 (AET)、嵌入式跟踪缓冲、系统跟踪、DSP 跟踪、ARM 跟踪,以及支持多核导航器与 TeraNet 等特定 KeyStone SoC 特性的插装。此外,CCStudio 还提供各种实用程序,可使用该分析工具套件导入和分析现场调试及跟踪信息。
CCStudio Eclipse产业环境
CCStudio 是 Eclipse 平台的组成部分,其不但可将调试与测试选项进一步扩展,使其适用于 KeyStone 软件开发团队,而且还可在稳健的系统上提供可充分利用其它 Eclipse 元素或插件的选项。支持 KeyStone 扩展的 CCStudio 提供大量系统级及 SoC 元素级分析功能,并可为采用或不采用外部调试器提供高度的灵活性。与 Eclipse 集成,既可帮助开发人员高度灵活地整合 Eclipse 功能,为 CCStudio 提供补充,也可为个别更熟悉 Eclipse 元素的开发人员提供方便。
结论
支持 KeyStone 扩展的 CCStudio 工具套件无需修改代码便可提供一流的系统级直观视图和分析功能。这对需要直观视图来更好地理解多核和多操作系统问题的开发人员来说,具有非常重要的意义。如果没有这样优异的直观视图,开发人员需要依靠定制解决方案及其自己的资源来理解复杂的多核问题。这会让问题解决的时间拖上数天乃至数星期。如图 4 所示,采用 TI 工具套件,几分钟内便可获得支持充足信息与直观视图的非侵入式调试及分析功能,从而可显著缩短开发时间,实现更理想的进度。最终客户将对高性能产品的及时交付充满信心。
图 4:支持 KeyStone 扩展的 CCStudio 工具套件为产品交付提供最高效率的途径
重要说明:TI 及其在此所提及各子公司的产品与服务均根据 TI 标准销售条款进行销售。TI 建议用户在下订单前查阅最新最全面的产品与服务信息。对于应用协助、客户的应用或产品设计、软件性能或者专利侵权,请恕 TI 概不负责。有关任何其它公司产品或服务的发布信息均不构成 TI 因此对其的批准、保证或授权。
Code Composer Studio 是德州仪器公司的商标。
所有其它商标均是其各自所有者的财产。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...