Windows CE.net的智能移动信息终端设计
主要包括定制板级支持包BSP(包括Bootloader的编写)、定制系统模块、定制原始设备商适配层(OAL)及设备驱动(driver)等步骤。完成操作系统的定制以后,可以通过Platform Builder 4.2编译生成NK.bin或者NK.Nb0文件。至此,WindowCE.net的内核就定制完成了,然后
就可以开发自己的应用程序。
(2)应用程序的开发
主要包括安装SDK和联机测试建立开发环境、开发中间模块、开发应用程序等步骤,最后形成exe文件。
(3)产品的生成
产品可以通过两种形式发布:应用程序(AP)与操作系统(NK.bin)分开发布或者是应用程序(AP)集成进程系统(NK.bin)发布,然后下载到硬件平台的Flash中脱机运行。其流程可以用图2表示。
3 基于WindRain硬件平台的Windows CE.net操作系统开发流程
3.1 开发基于WindRain板的BSP
BSP(Board Support Package)的开发主要包括Bootloader的开发、OAL(OEM Adaptive Layer)的开发、本地驱动程序的开发及一冶文件配置等。
3.1.1 Bootloader的开发
Bootloader主要是管理目标平台的启动过程,包括初始化硬件设备,下载操作系统的映像文件等。有了Bootloader,用户可以快速下载一个操作系统并映像到硬件平台上运行。Bootloader的开发是BSP开发的第一步,也是关键的一步。只有得到一个稳定工作的Loader程序,才能够更进一步开发WinCE的BSP,直到最后整个系统的成功。
具体步骤如下所述。
运行Platform Builder 4.2。选择Platform-BSP Wizard,从Intel DBPXA240 DEV Platform,ARMV4I克隆一个新的BSP,命名为MyPxaPlat。完成后,从资源管理器可以查看到在%_winceroot%(笔者机器上为D:/wince420)路径下面的Platform中新增了一个目录MyPxaPlat。根据硬件平台的特点,修改%_winceroot%下的源泉文件fwxsc1.s、main.c、Flash.c及Edeviceinit.c等,使其符合自己的硬件平台。为了调试方便,通常在函数OEMPlatformInit中加入一些自定义命令的处理,这样便可以通过串口接收命令完成一些相应的功能。进入DOS命令行提示符,分别cd_winceroot=D:,cd%_winceroot%,wince ARMV4IHLBASE MYPXAPLAT,完成命令行解释器的设定,然后运行sysgen,定位%_winceroot%,输入命令build-c,romimage boot.bib,在%_winceroot%I路径下可以看到Eboot.exe、Eboot.bin、Eboot.nb0等文件。通过JTAG向Flash中写入Eboot.nb0文件,上电运行,就可以从超级终端中看到一些启动和调试信息。
3.1.2 0AL的开发
OAL(OEM Adaptive Layer)即设备商适配层,是指位于Windows CE内核和目标硬件平台之间的一个代码层。开发OAL的目是是为了使Windows CE.net内核和目标硬件之间实现通信,包括处理中断、定时器等一些代码。
图2
OAL的实现也是在fwxsc1.s、main.c、Flash.c、Edeviceinit.c等文件中,根据需要修改相应代码,并在此基础上通过Build工具生成Buildexe目录,内核执行镜像Wernkitl.exe以及CEDDK.dll文件等。
3.1.3 驱动程序的开发
Device Drivers(驱动程序)是指能够管理虚拟或者物理设备、协议、服务等的一段软件模块,操作系统通过驱动程序和硬件直接打交道。
设备驱动设计的具体步骤是通过Platform Builder创建一个新的
《Windows CE.net的智能移动信息终端设计(第2页)》