0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虚拟硬件平台为开发人员带来光明的未来

星星科技指导员 来源:嵌入式计算设计 作者:James Clough 2022-06-28 14:42 次阅读

软件开发人员对硬件开发板又爱又恨。一方面,它们使软件变得栩栩如生。另一方面,它们可能会让人头疼,特别是因为开发计划取决于它们的可用性。开发板对软件调试和分析行为的有限可见性通常迫使开发人员使用更复杂的方法。有时它们根本不像开发人员期望的那样工作。虚拟硬件平台可以通过快速执行软件来帮助解决开发人员的挫败感,从而缩短开发周期。

复杂的多核平台(例如用于设计蜂窝基站的平台)越来越多地为软件开发人员带来挑战,这也加剧了他们倾向于鄙视硬件开发板的原因。 RadioFrame Networks 设计项目证明了这种两难境地,这导致了开发人员与硬件的双刃剑关系。

替代开发方法

在最初的硬件规范之后,开发团队考虑使用与初步硬件设计略有相似的参考开发板。没有任何设计外设或 DDR RAM 控制器与开发板匹配;但是,当时没有其他可用的东西。一旦最终硬件可用,开发人员将不得不盲目地编写然后修改软件,因为他们没有参考板上的所有硬件组件。这是他们认为可以用来完成工作的唯一方法。

然后,开发团队遇到了用于软件开发的虚拟平台,这是一种模拟硬件模型并以接近实时的速度执行软件的技术。尽管开发人员对这个概念很感兴趣,但由于对用于创建虚拟硬件平台的建模技术和方法缺乏了解,他们有所保留。开发人员想知道闪存模型是否与通用闪存接口/可扩展命令集兼容,以及新的 MAC 控制器功能是否足以为开发驱动程序提供先机。由于为 ASIC 选择的 ARM 内核没有使用完整的 ARM 指令集,因此开发人员希望虚拟硬件平台能够捕获内核尝试的非法指令,并捕获和报告非法寄存器写入。

随着团队开始项目,很明显有些担忧是没有根据的。他们很快了解到建模使用称为 SystemC 的标准语言、专门为建模硬件而设计的 C++ 子集以及称为事务级建模的方法。SystemC 中的概念对开发人员来说非常自然。因此,在这个项目中对闪光灯进行建模不是问题。

使用这项技术保存了会话之间的修改。尽管本案例中的特定内核没有建模,但开发人员仍然可以控制仿真并在出现非法指令时停止执行,这是他们通过使用工具命令语言 (Tcl) 脚本功能完成的。

在初始建模期间,开发人员发现软件和建模团队之间的沟通对于了解使用虚拟硬件平台可以实现什么至关重要。他们了解到,他们需要考虑虚拟硬件平台建模本身,并注意外围模型及其支持的功能。开发虚拟硬件平台涉及 IP 和工具供应商之间的交互。经过几周的建模,开发人员开始使用虚拟硬件平台开始软件开发。

快速反馈,模拟

最初的软件开发任务是开发 Linux 支持包和 U-Boot 监视器。从一开始,虚拟硬件平台就提供了宝贵的反馈,使开发人员能够确定他们是否走在正确的轨道上。开发板支持包开发的初始假设中的疏忽很快就被捕获并解决了。

一个具体问题涉及先进的高性能总线控制器。必须包括在初始引导期间交换闪存和 DDR RAM 的支持。虚拟平台快速帮助开发人员识别和纠正跳转的设置方式——虚拟平台中的一个简单功能,但需要 JTAG 工具才能在物理硬件中捕获它。在平台中完成的建模使开发人员不仅可以检测代码,还可以检测平台。如果需要,虚拟硬件平台提供了任何和所有外围设备状态的视图,而不会影响操作。

在软件开发过程中,来自 CoWare 的 Virtual Platform Analyzer允许开发人员观察和控制虚拟硬件平台,并使用它来有效地跟踪发起方对外围块的访问。特别是,断点可以放置在外设块访问上,并且可以通过 Tcl 应用程序编程接口使用特定的调试消息。相同的 Tcl 脚本功能还使开发人员能够使虚拟硬件平台适应他们的开发需求,从而通过模拟与时序相关的配置来验证固件中硬件配置的编程,而无需模型是时间准确的。因此,该团队享受了快速的仿真速度,并且无需等待物理硬件。

对代码的宝贵见解

在该项目中,与使用物理硬件相比,使用虚拟硬件平台将开发周期缩短了 33%。虚拟硬件平台提供了硅前软件开发测试环境。此外,其独特的调试和分析能力使其优于物理硬件上提供的类似调试和分析能力。

鉴于该项目的成功,很明显虚拟硬件平台可以显着提高软件开发团队的生产力。随着多核平台开发的快速增长,虚拟硬件平台提供的可见性水平可以让应用程序开发人员深入了解他们以前在没有专门设备的情况下无法看到的代码。

因此,开发人员应考虑使用虚拟硬件平台来纠正代码。这样做的价值远远超过了最初的建模投资。从 CoWare 等虚拟硬件平台技术供应商处获得的交流、教育、专业知识和其他优势可以减轻任何担忧。

要欣赏这项技术,请考虑白盒测试与黑盒测试的优势。使硬件设置日志级别允许开发人员记录操作系统和应用程序执行的各种访问。设计人员还可以将硬件断点设置在寄存器访问下至位级别,直观地验证中断和其他离散信号的变化状态,并通过设置硬件观察点和断点等 Tcl 脚本程序扩展虚拟硬件平台的功能。最重要的是,开发人员可以在他们的工作站上完成所有这些工作,而无需复杂的硬件设置、电缆和不稳定的硬件板。

不再等待硬件

虚拟硬件平台为开发人员带来了光明的未来,免除了他们等待硬件可用性的痛苦,并提供了硬件开发板无法提供的调试功能。虚拟硬件平台对于这十年及以后的软件开发人员来说,绝对是经过生产力验证的、可用于生产的工具。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9084

    浏览量

    367390
  • asic
    +关注

    关注

    34

    文章

    1199

    浏览量

    120439
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209338
收藏 人收藏

    评论

    相关推荐

    Nordic推出最新物联网原型验证平台Thingy:91 X

    SSID定位、DECT NR+以及GNSS等多种应用而设计,旨在简化开发人员的物联网原型开发流程,加速蜂窝物联网应用的开发进程,缩短产品上市时间。 Thingy:91 X平台集成了全
    的头像 发表于 12-11 10:13 304次阅读

    MSPDebugStack开发人员指南

    电子发烧友网站提供《MSPDebugStack开发人员指南.pdf》资料免费下载
    发表于 12-05 14:49 0次下载
    MSPDebugStack<b class='flag-5'>开发人员</b>指南

    汽车异构硬件平台开发如何进行静态代码分析

    先进的静态代码分析工具,其新版本中引入的多CCT功能为开发人员提供了强大的支持,该功能不仅简化了多编译器环境下的代码分析过程,还可以极大增强代码的质量和安全性。
    的头像 发表于 10-09 16:15 508次阅读
    汽车异构<b class='flag-5'>硬件</b><b class='flag-5'>平台</b><b class='flag-5'>开发</b>如何进行静态代码分析

    嵌入式开发常用软件有哪些?

    开发人员更稳定,更有生产力,更易于使用Debug调试功能。 3.SourceInsight source insight Mac 最新版支持多种开发语言(比如说Java,c,c++等)的编辑器.。对于
    发表于 09-09 15:22

    C2000 ePWM开发人员指南

    电子发烧友网站提供《C2000 ePWM开发人员指南.pdf》资料免费下载
    发表于 09-07 09:45 0次下载
    C2000 ePWM<b class='flag-5'>开发人员</b>指南

    【xG24 Matter开发套件试用体验】初识xG24 Matter开发套件

    和 Qwiic® 连接器对硬件附加板提供支持。硬件附加支持允许开发人员使用来自 mikroE、Sparkfun、AdaFruit 和 Seeed Studios 的现成板进行各种组合,来创建和原型化应用程序
    发表于 07-11 23:31

    【xG24 Matter开发套件试用体验】+开机启动

    和 Qwiic® 连接器对硬件附加板提供支持。硬件附加支持允许开发人员使用来自 mikroE、Sparkfun、AdaFruit 和 Seeed Studios 的现成板进行各种组合,来创建和原型化应用程序。 详情请参见附件视频
    发表于 07-11 14:05

    瑞萨电子发布R-Car Open Access平台,加速软件定义汽车开发

    全球半导体解决方案领域的佼佼者瑞萨电子近日宣布,正式推出全新的软件定义汽车(SDV)开发平台——R-Car Open Access(RoX)。该平台以全面整合的形式,车辆
    的头像 发表于 06-22 14:10 858次阅读

    选择合适的数字孪生开发平台因素有哪些?

    拥有各自独特的功能和特性。企业需要根据自身项目需求,比较不同平台提供的功能,确保选择的平台能够满足项目的具体要求,如模拟能力、数据集成、可视化等。 2.易用性:平台的易用性对于开发人员
    的头像 发表于 06-11 14:55 368次阅读
    选择合适的数字孪生<b class='flag-5'>开发</b><b class='flag-5'>平台</b>因素有哪些?

    嵌入式开发就业前景怎么样?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,
    发表于 06-07 14:51

    三星停止自动驾驶研究,开发人员转到机器人领域

    近日,三星电子宣布了一项重要的研发战略调整。据业内人士透露,三星先进技术研究院(SAIT)已决定停止自动驾驶汽车的研究,并将这一领域的开发人员转移到机器人领域。
    的头像 发表于 05-13 09:21 434次阅读

    SC171开发套件V1 硬件平台介绍及使用

    课程类别 课程名称 视频课程时长 视频课程链接 课件链接 硬件 硬件平台介绍 6分29秒 https://t.elecfans.com/v/25510.html *附件:硬件
    发表于 04-01 10:35

    Qt上位机开发实战案例

    Qt框架的开发人员能迅速上手和操作。 即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。
    的头像 发表于 03-13 12:31 2469次阅读
    Qt上位机<b class='flag-5'>开发</b>实战案例

    MWC2024亮点 爱立信旗下Vonage携手AWS加速向数百万开发人员提供新的解决方案

    开发人员提供新的解决方案。 推动跨行业新应用 近日,AWS工业副总裁Kathrin Renz表示:“AWS和Vonage在帮助客户实现创新和价值方面有着共同的热情。 我们与Vonage合作的目标是推动
    的头像 发表于 02-29 09:42 1.2w次阅读

    业务人员也能搭建企业应用?盘点对比这几款低代码开发平台

    在当今的软件开发领域,低代码开发平台正逐渐成为业务人员和技术开发人员的首选。这些平台通过简化
    的头像 发表于 12-27 18:31 990次阅读
    业务<b class='flag-5'>人员</b>也能搭建企业应用?盘点对比这几款低代码<b class='flag-5'>开发</b><b class='flag-5'>平台</b>