新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Intel PXA270的WinCE操作系统移植

基于Intel PXA270的WinCE操作系统移植

作者:时间:2009-12-18来源:网络收藏

随着科学技术进步和3G时代的到来,高性能PDA产品作为一种电子消费品越来越受青睐。作为这些高性能的PDA产品核心的嵌入式实时是开发嵌入式应用的关键环节。向来以界面友好,易操作性,易开发性为卖点的Windows CE.net嵌入式得到了广泛的使用。然而,WindowsCE在不同CPU,不同硬件环境下的成为了限制其进一步发展的障碍。本文利用PlatformBuilder工具并以EEliod Evluation开发板为对象,介绍了 WindowsCE的方法和内容。并给出了在此成功开发的应用程序的运行结果。

本文引用地址:http://www.eepw.com.cn/article/152215.htm

1.系统硬件平台

论文使用的开发平台为深圳亿道公司提供的EEliod Evluation开发板,该开发板采用的是 XScale微体系结构的 处理器。Intel XScale微体系结构支持16位Thumb指令和DSP扩充。可用于手机、便携式终端(PDA)、网络存储设备、骨干网(BackBone)路由器等。Intel 微处理器芯片就是一款集成了32位Intel XScale处理器核、多通信通道、LCD控制器、增强型存储控制器和PCMCIA/CF控制器以及通用I/O口的高度集成的应用处理器。

2.Windows CE.net嵌入式操作系统

Windows CE.net 是为各种嵌入式系统和产品设计的一种压缩的、高效的、可升级的操作系统。在 Windows CE.net 产品的开发中,有两个重要的方面,一个是内核定制,一个是应用程序的开发,微软在这两个方面都提供了非常好的开发工具,这就是内核定制工具 Platform Builder 和应用程序开发工具 Embedded Visual C++。Platform Builder 是 Windows CE.net平台下嵌入式操作系统定制的集成开发环境。它提供了所有进行设计、创建、编译、测试和调试 Windows CE.net操作系统平台的工具。同时,还可利用 Platform Builder 来进行驱动程序开发和应用程序项目的开发等。由于嵌入式系统资源有限,C++编译器效率高、性能好,Embedded Visual C++(EVC)便成了其应用程序最广泛的开发工具。

3 操作系统

Windows CE.net并不是一个通用的安装版操作系统,在形形色色的嵌入式硬件设备世界里,一款CE系统通常只会针对某一种硬件平台生成。所以,必须根据自己的硬件平台和应用场合定制CE。操作系统移植步骤为:1)对操作系统进行裁减,配置各个组件并且修改相关的配置文件;2)开发目标设备系统上的设备驱动程序,建立定制的CE操作系统映像文件;3)将目标文件下载到目标设备上进行调试;4)定制操作系统内核后,导出平台SDK,供在Embedded Visual C++中开发上层应用软件。

3.1 BootLoader的移植

BootLoader是一段单独的程序代码,它存放于目标平台的非易失性存储介质中,如ROM或Flash。在开发CE的过程中,它主要用于启动硬件和下载nk.bin到目标板上,并有一定的监控作用

由于BootLoader涉及到基本的硬件操作,如CPU的结构、指令等,同时又涉及到以太网下载协议(TFTP,当然也可能通过串口)和映像文件格式。因此从零实现的话,会需要相当长的过程。好在微软为每种类型的CPU都提供了某种标准开发板的BootLoader例程,因此通常的做法是:从这些例程中寻找与硬件平台最接近的作为标本程序,然后再从自己的硬件平台上入手做相应的改动。一些新的评估板可能会由第三方的厂商来提供Bootloader。如果硬件平台是从这样的基板设计而来的话,那么最好去寻求这些厂商获取Bootloader来移植,以减少工作量。本文移植使用的就是PXA270 Bootloader。

3.2驱动程序的开发

与其他操作系统一样,Windows CE.net也提供了驱动软件,这些软件的目的是驱动内部和外围的硬件设备,或者为他们提供接口。驱动程序将操作系统和设备连接起来,使得操作系统能够识别设备并为应用程序提供设备服务。目前基于 Windows CE.net的两种模型是本机设备驱动程序和流接口驱动程序。

本机设备驱动适于集成到 Windows CE.net平台的设备。通用 LED 驱动和电源驱动就是这样的例子。微软提供了定制接口的方式来支持内部设备驱动程序,绝大多数的开发人员不需要编写本机设备驱动程序。

另外一种驱动模型是具有定制接口的流接口驱动程序,它是一般类型的设备驱动程序。流接口驱动程序表现为用户一级的动态链接库 DLL,用来实现一组固定的函数称为流接口函数,这使得应用程序可通过文件系统访问这些驱动程序。该部分实例参见参考文献4,这里不再详述。

3.3 操作系统配置、编译和下载

针对开发中使用的开发平台和应用需求,下面我们使用Windows CE.net操作系统移植开发工具Platform Builder来完成操作系统的配置编译以及下载工作。

3.3.1 配置Platform Builder

在完成BSP或者驱动程序开发后,就可以用CEC Editor来编辑一个CEC文件,成功后就可以把此文件加载到PB IDE中。其中的原理就是PB用CEC文件来增加或者删除某个功能单元,PB会解释CEC文件中的数据格式。CEC文件编辑如图1所示。加载CEC文件到PB中如图2所示。

图1 编辑CEC文件实例

图2 加载CEC文件实例

3.3.2 配置操作系统

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭