军用电子产品软件灌装设备的研制

2013-08-15 00:44陕西宝成航空仪表有限责任公司李奕宏寇志远
电子世界 2013年6期
关键词:灌装驱动程序光盘

陕西宝成航空仪表有限责任公司 李奕宏 寇志远

1.引言

随着嵌入式电子产品在军用航空领域的广泛应用,对军用电子产品软件开发过程的管理和软件版本的控制提出了更高的要求。按照军用产品软件管理办法规定,定型(鉴定)供交付、生产、检验验收的软件目标码存放在产品库中,产品批生产过程中,软件目标码从产品库中出库,使用灌装设备进行软件灌装。

本研究主要为更好对生产过程软件灌装管理和版本的控制,研制软件灌装用设备的设计思路和实现方法。

2.设计思路

传统的软件灌装设备是采用专用计算机外加几个编程器(下载器)完成软件灌装功能。灌装原理是:从硬盘(或电子盘)启动操作系统后,将产品库光盘中的编译好的软件目标码写入编程器中。该设备的缺点是,因为有硬盘(或电子盘)等存储设备,操作者可以方便地更改或重新编译软件代码。如果计算机被病毒感染,可能造成程序的不正常运行。

如何保证灌装过程的受控,避免软件目标码出库后在灌装计算机上不被病毒感染,不因灌装计算机硬盘上的数据出现灌装错误软件版本等现象出现,经反复论证,确定以下方案:

(1)选用光盘系统(即Live in CD),也就是说所有的软件包括操作系统、芯片下载软件、设备驱动程序及验收后的程序目标代码均被刻录在一张光盘中,拿此光盘启动软件灌装专用无盘计算机,进行软件下载,实现软件的灌装。

(2)在系统光盘制作过程中,创建最小化的操作系统,使系统尽可能地精简和优化。系统中只驱动专用无盘计算机在软件灌装过程中使用的硬件组件,避免其余端口如U盘、串口等在灌装过程中非法使用。

(3)光盘作为只读存储设备,先天具有数据不可更改的优势,灌装设备本身是一台专用无硬盘的计算机,只能用于软件灌装,达到了产品软件灌装专用的目的。

3.研制过程

在光盘系统的在设计的初期,我们考虑到Windows 98系统对硬件要求较低,而且大小可以控制到100M以内,如果能成功制作光盘系统可以减少系统预热启动时间,方案确定后便开始对Windows 98系统进行精简优化,在硬盘上调试无误后将该系统制作成镜像文件刻录光盘,启动时不能正常进入系统,经分析发现Windows 98系统在启动时需要向启动分区写入启动数据记录,而光盘的只读性导致Windows 98难以脱离可写存储器运行,用Windows 98制作光盘系统的方案被迫终止。

通过进一步的了解,发现有一个微软公司作为系统维护的Windows光盘系统,即Windows PE(Windows PreInstallation Environment),这个系统是Windows预安装环境,带有限服务的最小Win32子系统,基本以保护模式运行的Windows XP Professional内核。它包括运行Windows安装程序及脚本、连接网络共享、自动化基本过程以及执行硬件验证所需的最小功能。Windows PE通过使用ramdisk技术,将内存划出一个区域来虚拟硬盘,然后将Windows核心文件载入该区域,来实现一定的维护功能。Windows PE启动后类似于Windows XP下打开了CMD命令行窗口,没有桌面图标,操作完全依赖各种命令,通过自行定制,可以制作出类Windows的桌面并集成一些绿色的常用软件,定制好的Windows PE拥有类Windows XP的友好界面,使用方便,作为系统维护工具来说是相当有效的方式,但正是因为Windows PE系统的系统维护特性,所以从网上获得的Windows PE系统都集成了很多个人用户常用的软件,并不适用军用产品的软件灌装,而且Windows PE光盘系统因为采用的是非标准Windows的数据格式,在Windows系统下,只能看到光盘使用容量而看不到光盘中的内容,这个特性利于保密却给带给我们修改Windows PE光盘系统相当大的困难,此方案也被迫放弃。

在Windows PE系统研究的同时,我们了解到另一个嵌入式系统:Windows XPE(全称Windows XP Embedded),该系统是专门为嵌入式设备而设计的,其目的是支持应用程序开发人员以及构建嵌入式设备的原始设备制造商(OEM)的工作,以组件化的形式提供Windows操作系统的功能。

Windows XPE是桌面Windows XP的组件化版本。其构建在已经通过验证的Windows 2000代码库基础之上,提供了一万多种独立的操作系统特性、服务与驱动程序,用户可以从中选择适当的特性,用以开发小内存空间占用量的定制化嵌入式设备。而且,除了磁盘外,其他非易失性(永久)读/写存储设备同样具备启动能力,在使用EI Torito的可启动CD-ROM驱动程序和增强型写过滤器(EWF,可将所选定的磁盘I/O路由改变到内存或另一种存储介质上,从而使OS认为只读存储器是可写的)以及ROM时,也可以通过CD-ROM进行启动。这样的特性足以满足我们在开发军用产品软件灌装设备的要求。

研制的几个关键步骤:

(1)制作绿色软件

将MCU生产厂家提供的芯片下载软件和下载器驱动程序制作成绿色软件,这样就省去软件运行过程中查找动态链接库引起的不必要麻烦。

(2)定制Windows XPE组件

根据灌装要求,加入El Torito CD Support、Winlogon Sample Macro、User Interface Core组件、Show Run on Start Menu等启动光盘组件和几个关键的系统组件。

(3)制作硬盘镜像、刻录光盘

建立Pre-FBA运行映象的iso文件,执行FBA,验证EWF对C盘的保护当确认EWF的配置完全正确时,就可以刻录光盘了。

(4)解决0x0000007B故障

在Windows XPE系统在硬盘上调试成功后,制作硬盘镜像、刻录光盘。用光盘启动时出现代码为0x0000007B的蓝屏错误,重新定制组件0x0000007B故障依旧。无意中将光盘放在另外一台机器上时,顺利进入系统,才发现Windows XPE系统对硬件兼容性有着很高的要求,更换兼容性较好的硬件,成功制作出光盘启动的Windows XPE系统。

4.结论

用XPE制作的启动光盘在专用无盘计算机上进行软件灌装具有以下特点:

(1)专用光盘使用专用设备,也就是该光盘只能在灌装设备上使用,其他计算机无法使用该光盘启动系统,并且不能查看该光盘内容。

(3)灌装计算机没有硬盘以及其他可写存储器,也不支持U盘等即插即用的存储器,而且在使用灌装光盘启动系统后无法将光驱打开更换其他光盘(强行打开光驱会导致系统死机),可以避免人为使用一些二进制编辑器修改产品软件。

(4)因为操作系统和灌装软件以及产品软件均集成在一张光盘上,所以,如果光盘出现故障,例如长期使用导致盘体损坏,该光盘则不能启动系统,可以将产品软件灌装错误几率降到最低,减少后期检验工作量。

(5)操作简单,只需要点击鼠标择不同的灌装程序和载入相应的HEX二进制文件即可完成整个灌装过程。

(6)一台灌装计算机通过使用不同产品的灌装光盘即实现多个产品的软件灌装。只需在已有镜像文件的基础上更换下载器的驱动程序、软件目标代码和下载软件即可制作出新产品的灌装光盘。

目前该灌装设备已通过计量部门的检定,并使用于公司的多个产品软件灌装中。

猜你喜欢
灌装驱动程序光盘
光盘行动
带有反馈补偿方式的灌装系统
基于PLC的饮料灌装流水线设计
基于S7-200PLC的液体灌装及搬运系统的实现
计算机硬件设备驱动程序分析
光盘小熊
KHS新型瓶装水专用灌装系统
基于MPC8280的CPU单元与内部总线驱动程序设计
光盘光荣
妙用鼠标驱动