1. 首页>新闻 > 国内新闻

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

作者:丁原东 2018年02月21日 国内新闻

“软件”与“硬件”必需相反相成,才干确保“身心安康”。关于效劳器、桌面或许笔记本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不只是多年设备软件开发经历积聚的结晶,也是设备软件开发者应对当今市场应战和顺应将来开展趋向的得力助手。