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

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

3天内不再提示

通过虚拟硬件平台帮助缩短开发周期

星星科技指导员 来源:嵌入式计算设计 作者:James Clough 2022-07-04 14:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

复杂的多核平台(例如用于设计蜂窝基站的平台)越来越多地为软件开发人员带来挑战,这也加剧了他们倾向于鄙视硬件开发板的原因。最近的 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 脚本程序(例如设置硬件观察点和断点)扩展虚拟硬件平台的功能。最重要的是,开发人员可以在他们的工作站上完成所有这些工作,而无需复杂的硬件设置、电缆和不稳定的硬件板。

不再等待硬件

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

审核编辑:郭婷

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

    关注

    114

    文章

    17928

    浏览量

    195932
  • 监视器
    +关注

    关注

    1

    文章

    805

    浏览量

    35283
  • 操作系统
    +关注

    关注

    37

    文章

    7462

    浏览量

    129752
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    德州仪器携手生态伙伴打造基于AM62L SoC的工业级SOM解决方案

    (SOM) 正成为加速产品落地的重要路径——通过标准化硬件平台与成熟软件生态,帮助开发者大幅降低设计门槛、
    的头像 发表于 04-14 14:05 306次阅读

    【新品】嵌入式开发总在“画板子”?ECK40-E核心板:全国产工业级,让硬件设计减负

    嵌入式硬件开发周期长?核心板选型顾虑多?工业级应用要求高?ECK40-E系列核心板与ECB40-PGE单板机——亿佰特基于瑞芯微RK3562打造的全国产工业级嵌入式平台。核心板集成处理
    的头像 发表于 04-09 19:33 350次阅读
    【新品】嵌入式<b class='flag-5'>开发</b>总在“画板子”?ECK40-E核心板:全国产工业级,让<b class='flag-5'>硬件</b>设计减负

    什么是低代码:低代码开发平台详解 5个优质低代码平台工具

    重复、复杂的代码模块(如表单、流程、数据存储等)封装成“预制组件”,开发通过拖拽组件、配置参数的方式搭建应用,仅在特殊需求场景下补充少量代码即可完成开发,大幅降低了软件开发的技术门槛
    发表于 04-07 16:03

    企业级KVM虚拟平台搭建实战

    企业IT基础设施经历了从物理机时代到虚拟化时代的演进。传统数据中心中,每台物理服务器运行单一应用,资源利用率普遍不足20%。硬件采购周期长、扩容慢、运维成本高,难以满足业务快速发展的需求。虚拟
    的头像 发表于 03-11 09:38 877次阅读

    技术流进!聊聊电机测试里的\"硬件在环\"到底是个什么环

    改造成本,同时大幅缩短平台的建设周期。 高度自动化与智能化 自动化与智能化正在将工程师从繁琐的手动操作中解放出来。如今的试验平台可以实现测试流程的全自动运行——从工况设定、数据采集到
    发表于 03-07 14:46

    吸尘器马达驱动系统硬件电路设计(有刷/BLDC兼容方案)

    企业进行平台化、系列化开发。 在硬件不变的前提下,仅通过接线与软件配置即可适配不同机型,有效缩短开发
    的头像 发表于 03-05 15:14 324次阅读

    新思科技Silver解锁FreeRTOS虚拟ECU潜能

    虚拟 ECU(vECU)极大地改变了汽车行业的软件开发与测试方式,通过虚拟环境中仿真物理 ECU 的功能,vECU 加速了软件开发和测试进
    的头像 发表于 01-22 12:46 919次阅读
    新思科技Silver解锁FreeRTOS<b class='flag-5'>虚拟</b>ECU潜能

    【行业案例】双足人形机器人开发周期缩短40%!头部集成商如何借力阿普奇“大小脑”方案实现快速突破

    开发周期较传统模式缩短40%。   01 客户背景与核心挑战 客户简介 国内领先的双足人形机器人研发与集成企业,专注于高端仿生机器人领域,产品覆盖科研教育、特种作业、商业服务等多个场景。 核心痛点
    的头像 发表于 01-09 17:42 1535次阅读
    【行业案例】双足人形机器人<b class='flag-5'>开发</b><b class='flag-5'>周期</b><b class='flag-5'>缩短</b>40%!头部集成商如何借力阿普奇“大小脑”方案实现快速突破

    主流低代码开发平台有哪些:加速数字化转型的核心力量

    。无论是大型企业还是中小企业,都在通过低代码开发平台缩短项目周期、降低开发成本,让业务人员也能深
    的头像 发表于 11-03 16:53 748次阅读

    量产周期缩短至4个月,亿境虚拟全链路方案领跑AI眼镜赛道

    强大的硬件设计与系统级开发实力,亿境虚拟面向行业伙伴开放能力,提供从结构设计、光学模组到AI算法集成的一站式ODM解决方案。在AI智能眼镜还面临量产难题的当下,亿境虚拟优势如何将自身技
    的头像 发表于 10-30 09:17 6749次阅读
    量产<b class='flag-5'>周期</b><b class='flag-5'>缩短</b>至4个月,亿境<b class='flag-5'>虚拟</b>全链路方案领跑AI眼镜赛道

    EMC电路怎么整改:如何缩短整改周期的实战案例

    EMC电路怎么整改:如何缩短整改周期的实战案例|南柯电子
    的头像 发表于 10-20 10:17 1051次阅读

    解锁思尔芯Genesis芯神匠虚拟原型平台:混合仿真与多元应用实践

    1、虚拟原型:芯片设计领域的革新利器芯片设计公司长期面临双重挑战:既要研发高性能芯片方案,又得缩短周期抢先推新。当下,系统与软件的复杂度与日俱增,传统软件开发方法在当下复杂形势中弊端渐
    的头像 发表于 07-15 10:13 2216次阅读
    解锁思尔芯Genesis芯神匠<b class='flag-5'>虚拟</b>原型<b class='flag-5'>平台</b>:混合仿真与多元应用实践

    什么是零代码平台

    控制器、光源等工业硬件即插即用,GraniStudio作为零代码核心价值体现在以下六个方面:1. 快速响应业务需求 可视化拖拽和预置功能模块,将传统开发周期从数月缩短至数天,快速原型设
    发表于 07-12 20:28

    佩特科技RK3588开发板产品介绍

    在AIoT(人工智能物联网)与边缘计算浪潮席卷全球的今天,企业对硬件平台的性能、灵活性、开发效率提出了更高要求。如何缩短产品从原型到量产的周期
    的头像 发表于 06-14 09:57 1104次阅读
    佩特科技RK3588<b class='flag-5'>开发</b>板产品介绍

    虚拟化数据恢复—XenServer虚拟平台上VPS不可用的数据恢复案例

    虚拟化环境: 某品牌720服务器中有一组通过型号为H710P的RAID卡+4块STAT硬盘组建的RAID10,上层部署Xen Server服务器虚拟平台
    的头像 发表于 05-30 11:35 881次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—XenServer<b class='flag-5'>虚拟</b>化<b class='flag-5'>平台</b>上VPS不可用的数据恢复案例