当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]使用仿真和虚拟化的嵌入式设计

虚拟化通过提供灵活性、便捷性以及增强的IT基础设施鲁棒性,为IT带来了巨大的变革。与物理目标硬件相比,虚拟化为那些面向普通计算机的软件开发人员带来了更大的帮助,其中包括下列功能:
轻松地管理多种虚拟机配置(不同的OS版本、不同的内存容量等)。


在这些不同配置上测试/调试自己的软件。
在相互隔离的环境中进行测试/调试,不必担心自己的工作站会崩溃。
不过,软件开发社区的其他人员——那些开发运行在嵌入式设备、非PC/工作站/普通计算机、非x86架构上的软件的开发人员,那些试图去维护过时硬件上的旧版应用程序或运行在供应不足或尚未面世的硬件上的应用程序的开发人员——是否能从中受益呢?

全系统仿真
系统仿真为这些开发人员甚至非PC硬件配置提供了虚拟化功能。顾名思义,全系统仿真提供了对整个系统进行仿真的能力,其中包括其微处理器、内存、I/O外设、磁盘驱动器、网络连接等。


不过,与其将全系统仿真看作是设备的集合,不如将其看作是最终系统,例如,新型飞机上的航空电子设备机架、通信基站、网络设备、汽车或工业发动机控制器、人造卫星或高端计算服务器。


利用全系统仿真,软件开发人员能够在自己的台式或笔记本电脑上运行整个系统的虚拟表现。开发人员使用标准源代码调试器、编译器和链接器在虚拟系统上加载软件的方式就像对实际目标硬件进行操作一样。不过,一项明显的不同在于,开发人员可以随身携带虚拟系统,这样,即使在旅途中也能够进行开发、调试和测试。


功能
与实际硬件相比,虚拟系统提供了更多的调试功能,这是因为它具有以下特性:逆向执行、保存和重新加载完整系统状态的功能以及窥视并控制虚拟系统设备的功能。这就为软件工程师的调试和测试工作额外提供了一个维度。与只能查看微处理器的寄存器和程序计数器状态的普通调试所不同的是,全系统仿真提供了查看在所有系统设备中所发生事件的功能。

[!--empirenews.page--]
例如,在调试UART驱动的问题时,可以为处理器所看不到的UART自身的特定条件设置断点。开发人员甚至能够改变这些设备的状态,从而在系统中加入虚拟硬件故障,以便测试软件如何发现硬件故障并从中恢复。


全系统仿真帮助软件开发人员进行系统级调试,而不是单板级调试。很多工程师可能都做过以下一些尝试:
调试在多板系统启动时间歇性出现,且看似与电路板之间细微的时间变化有关的问题。


在完全相同的时间同时停止系统的所有电路板,以便调试出现在电路板C但很可能起源于电路板A的问题。


调试看似发生在内部SoC I/O外设的设备驱动中的软件问题,却发现不能完全看到SoC内部实际发生的事件。

要求
全系统仿真支持处理所有上述情况。它可以成为非常难的软件和系统问题的一种强大的解决方案。但是,要使得全系统仿真成为现实,必须遵循一些重要的原则:
● 无论整套系统多么复杂,这种仿真需要快到足以运行完整的软件加载。
● 这种仿真必须可升级。如果不能仿真整套系统(无论是5块、10块还是100块电路板),那么它的作用就很有限。
● 仿真环境必须支持一套大型开箱即用的模型库,并同时向用户提供为自己的目标系统快速创建模型的方法。
● 仿真环境需要提供整个仿真系统的控制和可见性。
Virtutech公司的Simics就是仿真系统的一个例子,这是一款支持上述原则的全系统仿真器。设计人员可以运行完整系统的仿真,有时会包含具有异质目标架构的数百块不同的电路板。


目标应用程序代码、实时操作系统、驱动和固件都可以使用虚拟化的目标硬件进行调试、测试和执行。虚拟化的软件开发环境可以运行的二进制代码,与实际目标上所运行的二进制代码完全相同。这就是说,不再需要RTOS/OS API抽象层,stubbed-out驱动或固件,或者在生产环境和stubbed-out环境中使用不同软件编译方法的多编译脚本。


虚拟化的软件开发环境提供了:
● 适用于目标硬件中微处理器的指令集仿真器。
● 目标硬件中与目标软件进行交互的所有设备的行为仿真。
仿真目标和现实世界内部及二者之间的连接(例如,诸如以太网、MIL-STD-1553、ARINC 429、SpaceWire、Firewire、USB、ATM等网络以及磁盘镜像、内存镜像等其他机制。)。
● 使用与软件开发人员与实际硬件交互时相同的工具(如编译器、链接器、调试器、IDE和RTOS)和方法的能力。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:为解决传统自动化生产线生产效率低、自动化程度低、生产线复杂等问题,设计了一种自动化程度高且简单的自动化机械手臂,并根据设计进行仿真实验。实验结果表明,该设计在自动化生产实践中取得了较好的效果,提高了生产效率,达到了...

关键字: 机械手臂 设计 仿真

苏州2022年10月17日 /美通社/ -- 如今,数字中国的发展浪潮正在向千行百业推进,数字技术与实体经济的融合越来越紧密。为更好地实现数字技术与千行百业的深度融合,近年来,互联网行业创新多种技术手段以促进千...

关键字: 机器人 数字化 虚拟化 仪表盘

摘要:基于数字孪生技术,依托Unity引擎开发虚拟调试应用。通过机器人工作站实例进行虚拟调试仿真,基于socket通信,通过三菱PLC对虚拟机器人工作站进行虚拟调试,检测工作站结构设计的合理性、信号配置和逻辑设计的正确性...

关键字: 数字孪生 虚拟调试 仿真

麦格纳(MAGNA)正在进行一项1.2亿美元的投资,在印度班加罗尔建立和运营一座全新工程中心,旨在为出行电动化提供支持。该设施占地约2.2万平方米,预计将于2023年第一季度开业,届时该中心将聘请众多经验丰富的工程师和技...

关键字: 工程师 仿真 电动汽车 软件

客户可以针对图形和仿真基础部署Supermicro服务器,以大规模建构及运行元宇宙应用——系统将支持多达8个NVIDIA L40 GPU、ConnectX-7 SmartNI...

关键字: NVIDIA MICRO SUPER 仿真

摘 要:单螺杆空气压缩机的转子啮合副对间隙控制的精度要求很高 ,星轮轴系是啮合副的核心元件 ,作用在星轮轴系上的各力 会引起轴系变形 ,变形集中于星轮齿啮入螺槽部分及星轮轴轴承安装处 ,运用ANSYS/workben...

关键字: ANSYS 应变 仿真

据业内消息,华大九天昨天披露了投资者关系活动记录表,华大九天表示在电路的仿真工具相关领域突破核心技术,精度和性能得到了双维度提升,适用于仿真精度和性能要求较高的模拟芯片设计。

关键字: EDA 仿真

摘 要:通过对智能移动平台和六自由度机器人的调研分析 ,提出了新型智能片盒搬运小车的概念 ,并进行了设计研究。结合激光 导航AGV ,配合六轴协作机械臂 ,可在机台、stocker、e-Rack之间进行FOUP搬运。

关键字: 智能移动平台 六自由度机器人 仿真

摘要:基于10台计算机数控机床(CNC)和1辆轨道式自动引导车(RGV)组成的智能加工系统,设计了RGV动态调度策略,包括CNC工序分配、CNC编号奇偶优先和RGV任务分派策略,建立了以系统作业效率最大化和RGV移动时间...

关键字: 调度策略 仿真 粒子群算法

北京2022年9月7日 /美通社/ -- 近日,由南京市工业和信息化局、江宁区政府等单位共同主办,江宁高新区管委会等单位承办,主题为"拥抱元宇宙  一起向未来"的中国江宁首届元宇宙产业发展高...

关键字: 仿真 数字化 工业互联网 BSP

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭