过去,实施和部署多核片上系统 (SoC) 器件的一大挑战一直都是为编程和调试这些平台提供适当的工具。开发人员要充分发挥多核性能优势,就必须进行高效率分区,并在这些核上运行高质量软件。复杂多核系统的调试会面临同步处理模式以及子系统接口访问受限所带来的其它复杂性。开发和调试多核 SoC 所花费的时间以及实现理想 SoC 性能的能力可用来衡量工具套件的优势。
TI 支持 KeyStone 扩展的 Code Composer StudioTM(CCStudio) 集成型开发环境包含业界最佳的多核数据可视化技术,支持调试、验证以及跟踪功能。TI 近期推出了全新KeyStone 多核 SoC,其具有 ARM® RISC 处理器和 TMS320C66x DSP 核组成的异构组合。支持 KeyStone 扩展的 CCStudio 工具套件与KeyStone 器件及软件共同开发,为 SoC 提供了一个统一系统级视图,从而可直观查看 ARM 及 DSP 核、加速器以及外设。
介绍
随着处理器功能的增强,其复杂程度也在加大。这就使开发人员对软件进行调试、故障排除和维护的能力面临更大的挑战。随着多核处理器的推出,实施和分析工作的严格程度也在呈指数级上升。
试想下列情形:一群才华横溢的工程师在考虑有朝一日能使用这种振奋人心的新 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 架构
启动调试流程
分析仪套件是该工具链上的又一重要环节,其包含核级跟踪功能和系统级跟踪功能以及可充分利用片上软硬件事件嗅探器插装的逻辑分析器功能。此外,该套件还包含支持软件插装的 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 发出信号,要求其暂停运行或执行其它调试工作。该技术有助于发现间歇干扰、崩溃、失控代码以及伪中断。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉