摘 要:文章叙述源自PC的虚拟化软件和开源软件正在逐渐渗透到嵌入式系统各个方面。
关键词:嵌入式软件;虚拟化;移动互联网;标准化;Linux
随着移动互联网应用渐渐走热,Inel 嵌入式X86芯片重返市场,传统的嵌入式系统平台、软件开发方式和操作系统都在发生着变化。一个方面,互联网需要更多已经在PC使用的应用软件,能够在各种移动终端上使用;另一个方面,计算密集和数据密集的趋势要求嵌入式系统具有越来越处理能力,PC化则是一个解决这个问题的途径之一。
嵌入式系统和PC的融合
嵌入式系统和PC一直是有着难解之缘,以ISA总线标准发展起来的PC104,是嵌入式PC到今天依然大量使用的工业标准。DOS/Borland C是深受喜爱的嵌入式PC操作系统和开发工具之一。90年代以后,在摩尔定律推动下,Intel和微软联手推动了一轮又一轮的PC升级换代之路,也使得嵌入式系统和PC越走越远,以单片机(MCU)为代表嵌入式处理器技术成熟, RTOS(嵌入式操作系统,如uc/os-II,Vxwork) 和IDE(Keil、IAREW)的嵌入式软件开发模式已经形成,获得了广泛的认可和成功。
2000年以后,嵌入式Linux和ARM SoC嵌入式平台给嵌入式系统带来革命性的变革,比较起传统的MCU平台,一个典型ARM2410单板、嵌入式Linux2.4、Qt图形界面,它包含设备驱动、网络、文件、图形和丰富应用,是一个完整OS和交叉开发环境,非常接近人们熟悉的PC环境,可以适合多数消费电子、通讯、工业控制嵌入式系统应用要求。但是面对高计算、互联网和多媒体应用的移动互联网设备、数字多媒体中心、网络存储和超便携上网笔记本等应用时,基于交叉编译的ARM/Linux/WinCE系统,比较起X86/Linux/Windows XP系统,显得开发时间和难度要大得多了,在设备端重新移植成熟应用和测试过程耗费了大量的时间和人力;在服务器端,由于待测试的各种终端的种类、OS、浏览器不一,所以许多网络应用的厂家只能支持有限数量的终端和浏览器版本,所以,PC Windows/IE就成为多数网络应用支持的对象。
ARM、Adobe和CanoNIcal合作将把Ubuntu 和Flash Player 10移植到ARM上,这无疑是嵌入式软件和PC 融合的重要信号。Flash Player 是目前网络上最为流行的浏览和播放软件,也是运行在X86/Windows/Linux 平台,它对于ARM 体系结构的支持将大大提高ARM 芯片在互联网终端的地位,Ubuntu是国际上成功的Linux开源桌面操作系统。最近发表的8.10版本,加强了对3G移动网络的支持,计划支持超低功耗的ARMV7(CortexA8/A9)处理器,将扩展Ubuntu 操作系统在移动互联网终端上的地位,同时也为嵌入式系统开发提供一种标准的PC环境, 其实Ubuntu 因为尺寸小巧,是嵌入式X86/PC厂家主要支持的嵌入式Linux平台之一。无论是Intel嵌入式X86,还是ARM的SoC技术,都在引领着行业向着满足高性能计算要求的软硬件PC化方向发展。
嵌入式虚拟化软件
PC化的嵌入式软件具有通用、开放的特点,但是要完全满足安全性、实时性和可继承性的需求还有距离,虚拟化软件正好是一个补充。虚拟化在服务器已经取得了成功,正在进军桌面和嵌入式系统,著名的vmware最近宣布将推出智能手机的虚拟化软件版本。虚拟化可以用在多核、单核高性能处理器上运行,一是解决安全性问题;比如构建一个安全操作系统和开放操作系统环境手机保证移动网上银行安全支付问题。二是解决软件再用问题;比如大量已经验证了通讯代码和私有的RTOS,通过虚拟化和通用的操作系统(GOS)结合形成全新的高密度计算平台。三是解决实时性问题;专用的实时RTOS和GOS-Linux,Windows并存。四是解决多核编程问题;介于目前多核软件普遍滞后硬件芯片的情况,虚拟化可以帮助用户在不改变编程模式和设计思想的前提下,充分发挥多核芯片的性能。即在不同的核上运行不同的操作系统,运行RTOS的完成通讯设备的网络数据流的处理和分析;运行Linux的核负责系统数据库管理和人机界面。虚拟化技术如果使用得当,它可以在嵌入式系统和PC化软件之间架起一座桥梁。嵌入式系统对于虚拟化技术有其特出要求,比如非X86体系结构、尺寸和实时性等,目前开源项目Xen(www.xen.org/)在这个方面还有差距,商业的产品有VirtualLogix 的VLX,它提供支持通讯平台,移动终端和通用嵌入式系统的各个产品线方案,产品线丰富和成熟;OK-Labs是基于开源OKL4微内核虚拟化软件,重点支持手机的虚拟化方案;风河公司近日也宣布将推出作为整个多核方案一个部分的虚拟化软件。
嵌入式软件的PC化趋势,目前还是体现在高性能计算要求的场合,即使一个再复杂的洗衣机和电冰箱也不必需要一个800M主频的ARM SoC,或者Intel Atom 处理器,单片机完全可以解决问题了。嵌入式系统多样性决定了各种芯片技术、通讯技术、软件、设计思想都可以在嵌入式系统找到自己的位置。
参考文献:
[1] 何小庆. 我和中国单片机和嵌入式20年[j]单片机与嵌入式系统应用 2008.1
[2] 何小庆.交叉编译:ARM搏击Intel的软肋[j]电子产品世界,2008.11
[3]Tudor Brow.Partnership: Together we can do anything[M] ARM Connected Community Technical Symposium 2008.11 ARM中国公司
[4]Bernard Cole.Embedded is [still] as embedded does[j] embedded systems design 2008.11.12
[5]Michael PACzan.Electronics virtualization restored innovation and profit to electronic[j]embedded systems design 2008.11.34