摘要:给出了一种基于intel PXA263微处理器和Windows CE.net嵌入式操作系统的智能移动信息终端的设计方法,介绍了硬件平台的构建方法以及在构建的平台上移植Windows CE.net嵌入式操作系统的具体步骤。实践证明,该系统具有功能强、可靠性高、稳定性好、功耗低、携带方便等优点,具有良好的应用前景。
关键词:Intel PXA263处理器 Windows CE.net嵌入式系统 智能移动信息终端
近年来,Internet的迅速普及并向家庭领域的不断扩展,使得消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统再度成为研究与应用的热点。可以预见,伴随着需求的增长,有着体积小、耗能少、应用灵活、功能强大、可靠性强等诸多优点的嵌入式系统定会有着无法估计的应用前景。Intel Xscale PXA263是一种十分先进的嵌入式处理器,它采用Xscale核心,频率为200~400MHz,可以加强微处理器速度的管理,加快多媒体处理的速度,并支持802.11b、蓝牙技术USB接口。Intel的Xscale技术将手持设备的功能推上了一个新的高度,其电源管理能力提供了无与伦比的操作效率。配合Microsoft的嵌入式操作系统Windows CE.net,将会进一步提升系统的整体性能。本文将通过一个具体的例子向读者介绍一种基于intel PXA263处理器和Windows CE.net操作系统的软硬件平台的设计方法。
1 硬件平台的构建
1.1 intel PXA263处理器
intel PXA263处理器是Intel公司新近推出了一款嵌入式微处理器,PXA263基于intel的多晶片产品(MCP)封装技术,也是第一套创新[堆栈式]处理器。其内部整合了32位的32MB intel StrataFlash内存与含Intel Xscale技术的处理器,比其它分离(stand alone)型产品节省72%的空间,可在体积更小的单系统封装内提供更强的运算与内存功能。PXA263能减少产品使用的零组件数量,让制造商开发出新颖独特的功能,其中包括执行各种效能密集应用,如MPEG 4影片译码、语音与手写辨识、游戏等。
1.2 硬件平台的设计
本智能移动信息终端要求采用Microsoft Windows CE. Net嵌入式操作系统,能够通过CCD摄像头实现图像的输入,通过触摸屏实现输入,同时也能够通过GPRS模块和另的终端以及主控设备实现远程数据传输和通信根据PXA263的特点和应用要求,需要首先开发一个硬件平台(以下WindRain 称版),其具体的原理框图如图1所示,WindRain板主要由intel PXA263微处理器、外部RAM、CCD接口、GPRS模块、LCD、USB接口、串口等组成,同时可以通过SD卡和CF卡实现外部存储器的扩展。
2 Windows CE. Net操作系统的移植
2.1 Windows CE. Net和开发平台Platform Builder 4.2
Windows CE. Net是Microsoft推出Windows CE3.0的后继产品,是一个紧凑、完整和可扩展的嵌入式操作系统,该系统具有完整的操作系统特性集和端对端开发环境,是一个多线程、多任务、确定性的实时、完全抢先式优先级的操作系统,特别适用于有限资源的硬件平台。Windows CE. Net支持超过1400条的普通Microsoft Win32 API和其它的编程接口,包括组件对象模型(COM)、Microsoft基本类库(MFC)、Microsfot Activex控制、Microsoft活动模板库(ATL)等,其模块化的设计方式使得系统开发人员和应用开发人员能够为多种多样的产品所定制。
Platform Builder 4.2是Microsoft公司为开发基于Windows CE. Net操作系统的可定制平台而专门设计的集成开发开台,包括集成开发环境、平台生成器、SDK导出器、调试器、远程实用工具、仿真器等。它能使用户方便地设计和调试基于Windows CE. Net的平台。
2.2 Windows CE. Net的一般开发流程
嵌入式Windows CE. Net的一般开发流程如下:
a操作系统的定制
*定制BSP(包括Bootloader的编写)
*定制系统模块
*定制OAL、Driver、shell
*完成操作系统的定制以后,可能通过Platform Builder 4.2编译生成NK.bin或者NK.Nb0文件,至此Windows CE. Net的内核就定制完成了,接下来便可以开发自己的应用程序;
b应用程序的开发
*安装SDK,联机测试建立开发环境污染
*开发中间模块
*开发应用程序,最后形成exe文件
c产品的生成
*发布鞋(可以两种形式:AP与NK.bin 分开发布或者是AP集成进NK.bin 发布)。
*下载到硬件平台的Flash 中
*脱机运行
其流程可以如图2所示。
2.3 基于WindRain硬件平台的Windows CE. Net操作系统开发流程
a开发基于WindRain板的BSP(Board Support Package):
BSP的开发主要包括Bootloader 的开发、OAL(OEM Adaptive Layer )的开发、本地驱动程序的开发、平台文件配置等。
(1)Bootloader主要的开发
Bootloader主要用来管理目标平台的启动过程,包括初始化硬件设备,下载操作系统的映像文件等。有了Bootloader,用户可以快速下载一个操作系统的映像并在硬件平台下运行。Bootloader的开发是BSP开发的第一步,也是关键的一步。只有得到一个稳定工作的Lo ader程序,才能够更进一步开发WinCE的BSP,直至最后整个系统的成功。
具体步骤是:运行Platform Builder 4.2,选择Platform-BSP Wizard,从intel DBPXA250 DEV Platform:ARMV4I克隆一个新的BSP,命名为MyPxaPlat。完成后,从资源管理器可以查看到在%-winceroot %(笔者机子上为D:/wince420)中径下面的Platform中新增了一个目录MyPxaPlat。根据硬件平台的特点,修改% winceroot %的源文件fwxsc1.s、main.c、Flash. C、Edeviceinit. C等,使其符合自己的硬件平台。为了调试方便通常在函数OEMPlatformInit中加入一些自定义命令的处理,这样便可以通过串口接收命令完成相庆的功能。进入DOS命令行提示符,分别输入cd-winceroot=D: D 、cd%-winceroot%,wince ARMV4I HLBASEE MYPXAPLAT, 完成命令行解释器的设定,然后运行sysgen,定位%-winceroot%,
build-c、romimage boot.bib,在%-winceroot%
ARMV4I路径下可以看到Eboot. exe、Eboot. bin、. nb0等文件,通过Jtag向Flash中写入Eboot.nb0文件,上电运行,就可以从超级终端中看到一些启动和调试信息。
(2)OAL(Adaptive Layer)
OAL即设备商适配层中指位于Windows CE内核和目标硬件平台之间的一个代码层。开发OAL的目的是为了使Windows CE.net内核和目标硬件之间实现通信,包括处理中断、定时器等。
OAL的实现也是在fwxsc1.s、main. c、Flash.c、Edeviceinit. C等文件中,根据需要修改相应代码,并在此基础上通过Build工具生成Buildexe目录、内核执行镜像Kernkitl. exe以及CEDDK.dll文件等。
图2
(3)驱动程序的开发
Device Drivers(驱动程序)是指能够管理虚拟或者物理设备、协议、服务等的一段软件模块,操作系统通过驱动程序直接和硬件打交道。
设备驱动设计的具体步骤是通过Platform Builder创建一个新的平台,然后根据硬件平台的需要插入和移除驱动,需要修改的文件有Platform. Bib、Platform. reg及驱动程序源代码等,下面对显示驱动为例说明具体的设计方法:
I根据自己的硬件修改相关的源代码
在platform.bib中插入DLL
ddi.dll $(-FLATRELEASEDIR)video. dll NK SH
在platform. reg中检查屏幕的size和Bpp
"DisplayType "="LTM04C380K "
"CxScreen "=dword: 280
"CyScreen "=dword: 1E0
"Bpp "=dword: 10
定位目录D: LCD,通过build
sa2video. dll文件。
II调试驱动文件。其它的设备驱动都可以仿照上述思路进行开发。
(4)平台文件的配置
平台配置文件包括源代码配置文件和操作系统镜像配置文件。源代码配置文件主要上告诉Build工具需要用到的路径、C或Visual C ++的源文件以及生成什么类型的二进制文件等,包括Dirs文件、Sources文件和Makefile文件等。操作系统镜像配置文件则主要用于给Makeimag工具生成操作系统镜像,包括.bib、.reg、.dat、.db等文件。
由于笔者的BSP是通过克隆生成的,所以源代码配置文件可以不做修改,只需根据需要对像配置文件做相应的修改就行了。
b在Platform Builader中配置内核和编译映像
具体步骤是:打开Platform Builder,通过Manage Catalog Features调入上面生成的BSP(即.cec文件),运行New Platform Wizard生成一个新的Project,通过Build菜单,编译便可得到Windows CE. Net映像文件Nk. nb0和NK. bin。
c导出平台SDK并编写应用程序
编译完成后,通过Project菜单中的Export Wizzard导出一个平台SDK,供在Embedded Visual C++或者Visual studio. Net中开发上层应用软件使用。
D下载映像并脱机运行
通过CF网卡将Windows CE. net映像文件下载到Flash中,脱机按复位键,屏幕上显示Windows CE. net的启动画面,说明Windows CE. net已成功运行。开发的上层应用软件则可以通过PC 机上的ActiveSyn同步软件下载到Flash中。
至此,基于Windows CE. net的智能信息终端的开发就已完成,通过开发过程可以看出,Windows CE. net操作系统及其开发工具给我们提供了很大的方便,大大缩短了产品研发的时间。
3 结语
本文介绍的基于Windows CE. Net的智能移动信息终端具有功能强、性能稳定、功耗低等特点,适用于当前的高端移动信息产品,具有较好的应用前景。目前已成功应用于军警用移动信息终端中。