技术文章

当前页面: 首页 >技术文章 >量体裁衣—VxWorks 6.2轻松应对设备软件的特殊挑战

量体裁衣—VxWorks 6.2轻松应对设备软件的特殊挑战

--量体裁衣—VxWorks 6.2轻松应对设备软件的特殊挑战

供稿:工控网 2010/3/25 9:55:00

0 人气:809

  • 关键词: VxWorks 6.2 实时操作系统
  • 摘要:作为业界著名的嵌入式操作系统,VxWorks从一开始就具备了可裁剪性的良好“血统”。风河(Wind River)系统公司不久前宣布推出VxWorks的模块化版本——VxWorks 6.2,进一步把可裁剪性提升到了新的水平,使这个在设备软件领域流传和应用极为广泛的实时操作系统(RTOS)可以像“乐高”玩具那样,按照设备软件开发者的需要随意组装和配置。

“软件”与“硬件”必须相辅相成,才能确保“身心健康”。对于服务器、桌面或者笔记本PC来说,软件与硬件的协调比较容易做到,因为这些设备的硬件环境都是标准化的。而对于其他的电子设备来说,由于硬件环境的千差万别,软件与硬件的协调就会面临更多的挑战。

作为业界著名的嵌入式操作系统,VxWorks从一开始就具备了可裁剪性的良好“血统”。风河(Wind River)系统公司不久前宣布推出VxWorks的模块化版本——VxWorks 6.2,进一步把可裁剪性提升到了新的水平,使这个在设备软件领域流传和应用极为广泛的实时操作系统(RTOS)可以像“乐高”玩具那样,按照设备软件开发者的需要随意组装和配置。

“即插即用”才是可裁剪性

可裁剪性是设备软件与通用计算机软件的重要区别之一,这是由于设备软件与通用的PC或服务器软件存在以下几个方面的区别:

第一,从硬件环境来看,桌面操作系统具有标准化的CPU、存储和I/O架构,而嵌入式环境中的RTOS硬件环境只有标准化的CPU,没有标准化的存储、I/O和显示器架构,因此许多模块在特定的硬件中并不会用到。

第二,从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用,操作系统中的许多部件因此可以裁剪掉,以便节省内存,在降低成本的同时提高可靠性。

第三,从开发界面来看,桌面操作系统试图给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源,因而应该可以自行对操作系统进行裁剪。

总之,桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应性。也就是说:不论应用环境怎么变化,最好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的设备软件,在研发的时候就必须立足于改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。

有人认为,设备软件开发者如果拥有了软件的源代码,就可以按照自己的需求对其进行任意裁剪,就等于拥有了可裁剪性,这是一个很大的误解。删掉部分源代码之后,将会给整个系统带来什么影响,这是很难预估的,因而会给系统的可靠性带来极大的隐患。

所以说,如果一个软件平台只能依靠手工的方式去掉一些源代码,这根本就不是可裁剪性。所谓可裁剪性是以优秀的模块化设计为基础,在软件项目的工程阶段,随时利用软件配置方法实现软件构件的“即插即用”。可见,可裁剪性与开放源代码是两个完全不同的概念。

可裁剪性带给用户的一个最直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠性。

可裁剪性还与可扩展性和可靠性密切相关,因为软件规模缩减和增加可以采用同样的软件配置技术,而可裁剪性如果处理不好就势必影响到系统的可靠性。

VxWorks迎来设备软件的积木时代

实际上,VxWorks以前的版本也同样具有很好的可裁剪性和可扩展性,因为它的设计是以构件和参数的形式进行的,只是其中的构件都是以预先编译库的形式存在,通过符号参照表与系统连接起来。在VxWorks 6.2中,操作系统的配置通过更巧妙的方式来实现,支持更小巧的模块、更精准的方式来配置形成特定的操作系统功能,既可以只包含最核心的操作系统内核,也可以是最完整的操作系统。

除了部件和部件捆绑,VxWorks 6.2中还有“Profile”可以用来对VxWorks进行配置,这是一个新的重要特色。“Profile”提供了一种便捷的方式,构成了操作系统的不同配置基础,以便适应不同的设备软件产品以及软件项目开发的不同阶段。

VxWorks 6.2之所以具有更好的可裁剪性和可扩展性,是因为采用了精心设计的三层结构:最小内核、基本内核和基本操作系统,以简洁的微内核作为最底层,逐层扩展到完整的VxWorks配置(如图1所示)。随着层次的上升,相应配置所支持的功能逐渐复杂多样,这些配置工作可以采用风河公司Workbench或者vxpri实现,以便作为各种设备软件开发项目的基础。尽管经过各种不同裁剪配置的VxWorks都短小精悍,但仍然可以形成一个完整链接的操作系统映像,可以引导和运行应用软件。值得指出的是,为特定项目所裁剪形成的VxWorks映像并不是“铁板一块”——从此不可改变,而是可以根据项目后来的进程要求随时增加或者减少某些部件,最终得到一个最精炼的配置。

采用新的VxWorks 6.2,可以大幅度缩减软件在设备中所占用的空间,并且允许软件开发人员剔除操作系统中当前应用软件不会用到的部分,甚至可以用其他第三方的模块来取代操作系统中的某个模块。现在,设备软件开发人员可以自由地选择电源管理、文件系统或者调度程序,以便适应自己独特的芯片、设备类型或者运行平台。而且VxWorks操作系统在设备中所占用的存储空间比以前的标准版本减少了100KB,大约只剩下35KB左右。

新推出的VxWorks 6.2还带有一系列面向特定行业和应用领域的框架,可以帮助开发者确定系统行为、软件部分存储器占用量和整体的存储器需要量。例如,在消费电子领域,手机和数码相机所采用的电源管理方案就是不同的。再比如,在手机中,当用户正在输入联系人信息的时候,突然有电话呼入,你应该采取怎样的设计方案来处理?而在数码相机中又会遇到完全不同的问题。现在,有了模块化可裁剪的VxWorks 6.2,就可以根据不同的应用需求对操作系统模块进行取舍。

“裁剪”不能没有测试

与“可裁剪性”密切相关的是软件开发的测试能力,因为如果没有高效率的测试工具,“即插即用”的可靠性就会失去保证。因此,风河公司在推出VxWorks 6.2的同时,还在其配套的基于Eclipse的开发工具Workbench加强了单元测试和代码诊断能力。

升级后的Workbench是一个功能完善、基于Eclipse开发环境的设备软件开发工具,可以与模块化的VxWolrks很好地配合,灵活地选取系统模块。而且,风河公司还为这个开发环境增加了一个配置和向导工具,帮助设备软件开发人员对框架部件和模块进行命名和管理,并且把整个系统快速建构起来。

采用新的Workbench,设备软件开发者还可以导入和修改并非出自风河的Linux内核。如今Linux在设备软件中得到大量应用,但是有些Linux的软件包并不能直接拿来就用,而是需要重新配置、修改和优化。新推出的Workbench 2.4可以帮助设备软件开发者完成这些工作,而且完全兼容Eclipse 3.1。 

风河公司通过收购RTI公司获得了更好的静态分析、代码测试和诊断能力,已经作为Workbench的可选附加软件提供给设备软件开发者。新的单元测试软件可帮助软件开发者实施单元测试的自动化。目前大多数设备软件开发环境中,单元测试仍然是手工逐步完成的,新的测试工具可以帮助软件工程师自动完成测试代码的生成、编写、报告和分析工作。而且,新的诊断工具还允许开发人员不必对代码进行重新编译,即可在实际部署和运行的系统中执行调试操作。开发人员可以动态地放置测试点,在代码中的任何地方收集和跟踪信息,不论是应用层、中间件层还是内核都不例外。

面对消费电子市场的激烈竞争,设备软件开发所面临的最大挑战是在最短的时间内开发出功能可靠、节省成本的应用系统。风河公司VxWorks 6.2和Workbench 2.4不仅是多年设备软件开发经验积累的结晶,也是设备软件开发者应对当今市场挑战和顺应未来发展趋势的得力助手。

更多内容请访问 工控网(http://c.gongkong.com/?cid=41670)

手机扫描二维码分享本页

工控网APP下载安装

工控速派APP下载安装

 

我来评价

评价:
一般