2017年12月11日 手臂

VxWorks on Xen on ARM Cortex A53

作者:Ka Kay Achacoso

KaKay-photo

VxWorks实时操作系统(RTOS)是一种用于其安全性,可靠性和鲁棒性的小型确定性操作系统。Linux,一个开源操作系统,可以托管丰富的服务器技术。通过在同一系统上并排运行VxWorks和Linux,设备可以使用VxWorks来管理任务关键函数,并使用Linux管理人类交互功能和网络云连接功能。

多年来,VxWorks一直在多个虚拟化技术上与Linux一起运行。Wind River Virtualization Profile包括一个管理程序,它可以作为VxWorks的客户操作系统托管Linux、Windows和其他操作系统。在Intel架构上,VxWorks可以在KVM、VMware、Oracle Virtual Box和Xen Project Hypervisor上不加修改地运行。

在ARM Cortex A53上,除了Wind River虚拟化配置文件之外,最新的VxWorks与Linux一起运行的hypervisor是Xen项目管理程序它是Linux基金会的一个开源虚拟化平台。DornerWorks使Xen Project虚拟机管理程序能够在Xilinx Zynq UltraScale + MPSoC中运行,以释放魔方(以前Xen Zynq发行版)。Wind River与Dornerworks合作,为Xilinx Zynq ZCU102评估板提供了VxWorks和Linux的Xen Project HyperVisor解决方案。

通过在同一个系统上运行VxWorks和Linux,开发人员可以创建混合设备,比如可以收集传感器数据、处理数据,然后托管一个web服务器用于小型数据可视化。作为在ARM Cortex A53上使用新Xen解决方案的一个快速实验,我使用了一个简单的例子,使用VxWorks处理音频输入来检测拍手节奏,并使用Ubuntu托管一个web服务器来显示检测到的节奏。

2

图1所示。设备实例:设备分析拍手节奏。分析结果可以通过设备上的web服务器获得。

软件结构

DornerWorks Xen解决方案将Xilinx Petalinux作为domain 0客户操作系统运行,作为所有其他客户操作系统的启动点,这些操作系统在Xen术语中称为域。因此,当Xen第一次启动时,Petalinux就会立即启动。在Petalinux shell中,我启动了VxWorks和Ubuntu客户操作系统。

Xen为它的客户操作系统提供了一个虚拟网络,这个虚拟网络连接到物理网络接口并连接到外部网络。VxWorks和Ubuntu都有连接到虚拟网络的驱动程序。VxWorks和Ubuntu通过这个虚拟网络进行通信,并通过桥接连接到外部网络。

在此示例中,VxWorks运行信号处理和频谱分析应用程序。结果将编译为JSON字符串并通过虚拟网络发送到Ubuntu。在Ubuntu上,Apache2 HTTP服务器使用Node.js和Chart.js将结果发送到浏览器以格式化数据显示。

3.

图2。在Xen上运行VxWorks和Linux客户操作系统的软件框图。

开发过程

Virtuosity是Xilinx Zynq UltraScale+的Xen,很容易下载DornerWorks网站。将Xilinx Zynq Board引导到Xen及其域0 PetalInux的说明在从同一页面下载的手册中良好记录。Virtuity附带Ubuntu 14.04 LTS分发,可以作为客户操作系统运行,文档描述了如何启动此客户操作系统。我修改了Ubuntu的默认Xen域配置文件以增加其内存,以便将额外的软件组件安装到Ubuntu上。

VxWorks客户操作系统运行在下载的未经修改的Virtuosity之上。为了创建客户操作系统,我使用VxWorks Core或VxWorks Plus中提供的用于Virtuosity的VxWorks board支持包。这个过程与为任何其他硬件创建VxWorks OS二进制映像几乎相同。一旦将VxWorks客户操作系统的二进制映像复制到domain 0 Petalinux文件系统中,并创建一个简单的VxWorks- xen域配置文件,就可以轻松地从shell启动VxWorks客户操作系统。

结果

这个简化实验的最终结果演示了VxWorks作为实时传感器应用程序和Ubuntu Linux作为服务器应用程序,两者之间的通信运行在虚拟网络上。当我的手拍出一定的节奏时,我连接到设备的浏览器就会显示拍手节奏。图3显示了英国热门电视剧《神探夏洛克》主题曲的拍手节奏。

4

图3。显示VxWorks检测到的《神探夏洛克》主题节奏的网页。

有了Xen作为VxWorks的附加虚拟化选项,使用基于ARM Cortex A53硬件的设备开发人员可以充分利用VxWorks的确定性实时特性以及Linux的人机界面和网络功能。

关于VxWorks的其他信息是可用的在这里。艺术爱好者,请参阅DornerWorks。Xen管理程序信息可在Xen项目网站

以前的“幼发拉底河12月?”听起来完美……
下一个中华电信实验室与风河公司合作进行NFV概念验证