系统与设计
的意见

现在一起在…虚拟原型

虚拟样机是连接物理和虚拟世界之间的桥梁。

受欢迎程度

作为一个频繁的旅行者和电子产品爱好者我爱我所有的设备被连接的概念。然而,往往我体验一个分歧有时坏软件造成的,有时由于缺少硬件接口。我最近的挫折与我的平板电脑不见了USB接口上传新映射到我的GPS设备。GPS设备成为一个分裂的、孤立的硬件没有多大用处。嵌入式软件开发人员使用SoC原型方法时面临着类似的挑战。使用某一阶段的原型软件开发,需要连接其他设备和主机环境。

增加设备连接的重要性在当今的soc也增加了软件开发的要求。作为PCIe和USB接口等需要运行复杂的软件堆栈管理沟通和跨设备启用服务。从术语的角度来看,一方提供的服务通常被称为“设备”,请求服务的一面被称为“主机”。将不同的设备在一个原型环境可能是一个挑战。让我们看看虚拟样机是如何解决这个问题。

一个键值虚拟样机的增量和敏捷开发方法的实现。虚拟原型开发和嵌入式软件的需求同步。这意味着最初虚拟样机开发人员可以“存根”未使用的设备或“模拟”设备接口与简单的python脚本。然而,随着软件开发的进展和“触摸”inter-device交流需要一个虚拟样机变得更加复杂。同时,限制虚拟样机建模工作我们可以利用现有的主机和设备两种技术,称为“现实世界的I / O”和“虚拟世界的I / O”。作为PCIe等标准接口,USB或以太网这是开箱即用的,“现在”。让我们来看看更详细的概念。

现实世界中I / O允许控制器内部虚拟样机连接插入主机的物理设备。让我们看两个例子:

  • 例子1显示了虚拟样机与USB控制器(主机)从物理连接和读取数据的USB记忆棒(设备)插入相同的主机电脑。开发人员现在可以在虚拟样机开发USB主机软件利用现有的物理设备。

  • 2显示了一个例子作为PCIe根虚拟样机与复杂,连接到一个物理GPU卡插入作为PCIe插槽相同的主机电脑。开发人员现在可以作为PCIe主机软件虚拟样机开发利用物理GPU和可视化的帧缓冲虚拟显示终端。

虚拟世界的I / O允许主机操作系统连接到一个设备控制器内部虚拟样机。让我们看看下面的例子:

  • 示例3显示了连接到主机操作系统虚拟SSD设备包含一个虚拟作为PCIe端点。最初,开发人员使用了虚拟样机开发SSD FTL虚拟SSD设备上运行的软件堆栈。开发人员现在可以开发主机作为PCIe这个虚拟SSD设备驱动程序代码,另外调试主机的SSD并行软件栈的代码。

通过添加“虚拟世界的I / O”和“现实世界的I / O”我们已经大大扩展虚拟样机软件开发任务的价值很少的额外工作。这两种技术真正使“一起”不同的开发工具,同时保持所有虚拟样机功能——即:早期发展,完整的可见性、速度和故障注入功能。



留下一个回复


(注意:这个名字会显示公开)

Baidu