当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Windows CE.net的智能移动信息终端设计

    摘要:给出一种以Intel PXA263微处理器为核心芯片,基于Windows CE.net嵌入式操作系统的智能移动信息终端的设计方法。首先介绍Intel PXA263微处理器的性能,给出自行开发硬件平台(Wind_Rain板)的结构框图,然后分析Windows CE.net的一般开发流程,并以Wind_Rain硬件平台为例,给出Windows CE.net开发的具体步骤。试验测试表明,该系统具有功能强、可靠性高、稳定性好、功耗低、携带方便等优点,具有良好的应用前景。

    关键词:PXA263处理器 Windwos CE.net 嵌入式开发 智能移动信息终端

引言

近年来,Internet与网络的应用迅速普及,并向家庭领域不断扩展,使消费电子、计算机、通信一体化趋势日趋明显,嵌入式系统再度成为研究与应用的热点。可以预见,伴随着需求的增长,有着体积小、耗能低、应用灵活、功能强大、可靠性强等诸多优点的嵌入式系统定会有无法估计的应用前景。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公司最新推出的一款嵌入式微处理器。Intel PXA263处理器基于Intel多晶片产品(MCP)封装技术,也是第一套创新堆栈式处理器。它整合了32位的32MB Intel StrataFlash内存与含Intel Xscale技术的处理器,比其它分离(stand alone)型产品节省72%的空间,能够在体积更小的单系统封装内提供更强大的运算与内存功能。同时,能减少产品使用的组件数量,让制造商开发出新型与独特功能设计的产品,其中包括执行各种效能密集应用,例如,MPEG4影片解码、语音与手写识别及游戏等。以上这些特点使得Intel PXA263更加适合在体积和功耗要求较严的移动设备中使用。

1.2 硬件平台的设计

本智能移动信息终端采用Microsoft的Windows CE.net嵌入式操作系统,能够通过CCD摄像头实现图像的输入,也可以通过触摸屏实现输入,同时能够通过GPRS模块和另的终端以及主控设备实现远程的数据传输和通信。根据Intel PXA263的特点和应用要求,首先开发一个硬件平台(以下称WindRain板),其具体的结构框图如图1所示。该硬件平台主要由微处理器Intel PXA263、外部RAM、CCD接口、GPRS模块、LCD、USB接口、串口等组成,同时可以通过SD卡和CF卡实现外部存储器的扩展。

2 Windows CE.net操作系统的移植

2.1 Windows CE.net是Microsoft推出的WindowsCE3.0后继产品,是一个紧凑、完整和可扩展的嵌入式操作系统。该系统具有完事的操作系统特性集包和端对端开发环境,是一个多线程、多任务、确定性的实时完全抢先式优先级的操作系统,特别适合于有限资源的硬件平台。WindowsCE.net支持超过1400条的通道Microsoft Win32 API和其它的编程接口,包括组件对象模型(COM),Microsoft基本类库(MFC),Microsoft Activex控制,Microsoft活动模板库(ATL)等,其模块化的设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它。

Platform Builder 4.2专门为开发基于Windows CE.net操作系统的可定制平台而设计的集成开发平台,包括集成开发环境、平台生成器、SDK导出器、调试器、远程实用工具和仿真器等。它能使用户方便地设计和调试一个基于Windows CE.net的平台。

2.2 Windows CE.net的一般开发流程

嵌入式Windows CE.net的一般开发流程包括操作系统的定制,应用程序的开发和产品生成等步骤,现分述如下。

(1)操作系统的定制

主要包括定制板级支持包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创建一个新的平台,然后根据硬件平台的需要插入和移除驱动,需要修改的文件有Platform.bib、Platform.reg及驱动程序源代码等,下面以显示驱动为例说明具体的方法。

根据自己的硬件修改相关的源代码。

在platform.bib中插入DLL。

ddi.dll $(_FLATRELEASEDIR)video.dll NK SH在platform.reg中检查屏幕的Size和Bpp。

DisplayType"="LTM04C380K"

"CxScreen"=dwork:280

"CyScreen"=dword:1E0

"Bpp"=dword:10

定位目录D:_LCD,通过build工具生在sa2voideo.dll文件。

调试驱动文件。其它的设备驱动都可以仿照上述思路进行开发。

3.1.4 平台文件的配置

平台配置文件包括源代码配置文件和操作系统镜像配置文件。源代码配置文件主要是告诉Build工具需要用到的路径、C或Visual C++的源文件以及生成什么类型的二进制文件等,包括Dirs文件、Sources文件和Makefile文件等。操作系统镜像配置文件则主要用于给Makeimag工具生成操作系统镜像,包括.bib、.reg、.dat、.db等文件。

由于BSP是通过克隆生成的,所以源代码配置文件可以不做什么修改,只需根据需要,对镜像配置文件做相应的修改就行了。

3.2 在Platform Builder中配置内核并编译映像

具体步骤是打开Platform Builder,通过Manage Catalog Features调入上面生成的BSP(即.cec文件),运行NewPlatform Wizard生成一个新的Project,通过Build菜单,编译便可得到Windows CE.net映像文件NK.nb0和NK.bin。

3.3 导出平台SDK并编写应用程序

编译完成后,通过project菜单中的Export Wizard导出一个平台SDK,供在Embedded Visual C++或者Visual Studio.net中开发上层应用软件使用。

3.4 下载映像并脱机运行

通过CE网卡下载Windows CE.net的映像文件到Flash中,脱机按复位键,屏幕上显示Windows CE.net的启动画面,说明Windows CE.net已成功运行。开发的上层应用软件则可以通过PC机上的ActiveSyn同步软件下载到Flash中。

至此,基于Windows CE.net的智能信息终端的开发就已完成。通过开发过程可以看出,Microsoft公司提供的Windows CE.net操作系统及其开发工具,给我们提供了极大方便,大大缩短了产品研发的时间。

结语

本文介绍的基于Winodws CE.net的智能移动信息终端具有功能强、性能稳定、功耗小等特点,适用于当前的移动高端信息产品,应用前景较好。目前,本文所设计的系统已成功的应用于军警用移动信息终端中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭