WindowsCE环境下无线网卡的自动安装
Windows CE是为多种嵌入式系统和产品而设计的紧凑、高效、可升级的操作系统
本文重点讨论了Windows CE环境下无线网卡的安装,并提出了一种在系统断电重启时自动安装无线网卡的解决方案;还对Windows CE的系统定制、应用程序的开发及系统封装进行了介绍。由于Windows CE与Windows的同源和相似,决定了学习Windows CE的简易性,这样就缩短了应用者的开发周期。
1 Windows CE简介
操作系统定制工具有Windows CE Platform Builder(简称PB),应用程序开发工具有嵌入式开发工具包Embedded Visual Tools,包括Embedded Visual C++(简称EVC)和Embedded Visual Basic(简称EVB)。
2 特定硬件平台Windows CE操作系统的开发
有了具体的嵌入式硬件平中后,就可以为其开发满足特定功能需要的Windows CE系统。总之,可以分成三个步骤:操作系统的定制、特定功能应用程序模块的开发、功能模块封装入
操作系统。
2.1 操作系统的初步定制
图2为在PB中定制Windows CE操作系统的一般流程[3]。
首先,选择操作系统的基本配置,并且为特定的平台选择相应的微处理器和平台支持包BPS(Board Support Packet)。PB提供的BSP有CEPC(基于PC机的WinCE硬件开发平台)。开发者可以选择其一或自己定制特定平台的BPS。其次,制定平台,在此阶段可开发设备驱动,适当地裁剪、添加组件,如有必要还需对某些配置文件进行修改。然后,封装所需要的各功能模块,编译生成OS镜像文件。若设备为自己定制的目标设备,则需开发OAL(OEM Adaptation Layer)、BPS和BootLoader。接着,把镜像文件下载到目标设备,进行调试;需要的话,进行重复配置、封装、下载及调试,需要的话,进行重复配置、封装、下载及调试,直到满足要求,完成平台的创建。
最后导出相应的SDK(Software Development Kit)软件开发工具包,运行后加域到EVC中,使得可以进行特定硬件平台上的应用程序开发。SDK包含程序库、头文件、示例程序源代码和库函数使用文档,同时还包括编程指导和API参与以及设备驱动工具包(DDK)。
2.2 特定功能应用程序模块的开发
开发特定功能的应用程序模块就是在EVC中编写应用程序,满足系统功能扩充的需要。重点要做以下工作:
(1)为特定平台选择相应的微处理器,如WCE THUMB或WCE x86em等。
(2)编写应用程序。方法上EVC与PC机上运行的VC差别不大。两者的区别主要有:前者的API是后者API的子集,对不兼容的函数要做一些修改或者寻求可替代的函数;前者为Unicode环境,所有字符都是两个字节,而后者为ANSI美国标准,每个字符一个字节,因此必要时两者间要作数据类型转换;另外在用户界面编程和内存管理等方面也有些差异。
(3)对程序进行编译和调试。编译时一定要选择特定的硬件平台。调试时可用微软件包提供的工具Microsoft Activesync建立PC机上与目标机的连接,把系统镜像从PC机下载到目标机上进行调试;另外EVC中带有模拟器,可以在PC机上模拟目标平台上的大部分功能。
2.3 功能模块封装入系统
OEM开发者通常把必要的应用程序和操作系统封装在一起发布给使用者,因此要把应用程序打包封装入初步制定的操作系统中。需要做的工作主要有两个:
(1)把编译好的可执行文件拷贝到Windows CE系统相应的文件夹中。
(2)在PB中修改相应的系统配置文件。PB所提供的配置文件包括四种文件类型:.bib,说明需要打包进镜像文件的Windows CE文件;.dat,文件系统、目录和文件分配表描述;.db,Windows CE对象存储数据库的描述;.reg,系统注册表。在开发过程中最常用到的配置文件有:Platform.bib、Platform.reg、Platform.dat、Config.bib。Platform.bib定义打包到OS镜像文件时所需要的文件(files)和模块(modules);Platform.reg定义目标平台冷启动时所加载的注册表键值;Platform.dat定义目标平台冷启动时所加载的系统文件、目录和链接等;Config.bib定义可用的物理地址,并进行一些属性设置。
做好以上两步以后,对操作系统重新编译、下载、调试,最终得到功能完整的系统镜像。
3 开发实例——Windows CE环境下无线网卡的自动安装
3.1 项目介绍
项目要求实现一个
- 嵌入式操作系统特点分析(06-06)
- 一种基于嵌入式WindowsCE的GPS数据导航系统设计(06-10)
- 基于ARM处理器的GPS移动设备设计(01-07)
- Windows CE 嵌入式网络监控系统的设计(08-06)
- Windows CE.NET下ADC驱动开发设计(11-26)
- 初探WindowsCE异常和中断服务程序(10-31)