基于TQ2440开发板的Windows CE系统定制研究
2011-01-29徐丽仙
徐丽仙
(扬州职业大学,江苏扬州225009)
嵌入式系统是一种面向用户、产品、应用的软硬件综合系统。其特点为系统内核小、专用性强,同时可根据具体应用需求进行软硬件裁剪。嵌入式技术的研究目标是在满足用户功能的基础上,最大限度地降低成本和体积,提高可靠性和系统效率[1]。目前,嵌入式系统已经在工业控制、通信、交通管理、信息家电、消费电子等领域得到广泛的应用,并朝着小体积、强功能、智能化、网络化、多媒体化的方向发展。
高校语音实验室主要承担外语课堂教学和学生自主学习的功能,目前一般采用普通计算机作为教学和自主学习终端。教师使用在计算机上所安装的某公司研制的硬件设备和软件产品,并采用ATM网络来实现教学功能。而学生自主学习则由以太网以B/S模式访问服务器上的自主学习资料,每个学生都配置一台计算机。长期使用发现,计算机的利用率较低,功耗较大,占据实验室空间大,造成一定的浪费。本文从经济实用性的角度考虑,应用嵌入式技术对系统进行相应的硬件功能定制和软件裁剪,不但能够满足功能需求,还能够克服如上缺点。
1 TQ2440开发板介绍
TQ2440是广州天嵌科技有限公司研制的嵌入式系统开发板,它是一款功能强大,功耗极低,应用广泛的嵌入式系统开发平台。使用TQ2440开发板进行二次开发,已经广泛应用于车载手持、GIS平台、Data Servers、VOIP、网络终端、工业控制、检测设备、仪器仪表、智能终端、医疗器械、安全监控等嵌入式中高端应用产品。TQ2440采用三星公司设计的S3C2440处理器,该处理器采用英国ARM公司技术成熟的ARM920T架构设计。该开发板具有如下主要特点[2]:(1)处理器效率高,采用1.25V核心电压供电功耗低,发热量小;(2)含有64MB SDRAM内存、256MB Nand Flash存储器和2MB Nor Flash存储器,它们根据应用需要都可作相应扩展;(3)接口丰富,包含串口、USB接口、网络接口、音频接口、SD存储卡接口、130万像素以上Camera接口、LCD接口、JTAG接口、GPIO扩展接口、总线扩展接口、AD转换等,为开发者提供强大的开发支持。
2 Boot Loader烧写
Boot Loader和PC机的BIOS相似,存放在非易失性存储介质中,是嵌入式系统必须的系统软件之一。它是Windows CE内核运行前所执行的一段代码,其功能主要用于初始化硬件设备、建立系统的内存空间映射图、将Windows CE的内核NK.bin下载到目标板并启动内核,同时还对整个系统起到监控作用[3]。
根据不同的开发板和具体的应用需求,通常采用Vivi、U-Boot、EBoot等Boot Loader,它们的区别是:Vivi是mizi开发的用于S3C241X/S3C244X,用于启动Linux嵌入式操作系统的Boot Loader;U-Boot是一个广泛用于ARM平台,可以用来启动Linux;Eboot是WinCE平台下的Boot Loader。它们都是由硬件开发人员在硬件系统开发完成后随产品提供给用户进行二次开发使用的。在本系统开发中需要分别烧写U-Boot和EBoot。
Boot Loader的烧写是通过PC机并口或USB口与开发板的JTag口连接,配合相应的烧写工具软件(如SJF2440、H-Jtag、Jlink-Flasher等)写入到Nand Flash或Nor Flash存储器完成的。
3 Windows CE内核定制
3.1 嵌入式操作系统介绍与比较
市场上嵌入式操作系统比较多,常用的有Vxworks、PalmOS、Windows CE、嵌入式Linux等。它们有着各自的特点,根据不同的应用需求采用不同的嵌入式操作系统。
嵌入式Linux(Embedded Linux)是对Linux经过定制化裁剪后,固化在小容量的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统,Linux具有内核小、功能强大、API丰富,效率高,易于定制剪裁等特点。
Windows CE是微软公司针对特定嵌入式系统应用而开发的一种定制式操作系统。它是一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统,界面比较统一,大多数Windows应用程序经过移植后就可以运行在Windows CE平台上。
VxWorks操作系统是美国Wind River公司设计开发的一种嵌入式实时操作系统(RTOS),其良好的可靠性和实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器、导弹制导等。
Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品,它是一套专门为掌上电脑编写的操作系统。
3.2 Windows CE系统结构
在架构本系统时从开发的复杂性和使用的操作方便性等角度考虑,由于Windows CE界面和操作与Windows XP类似,所以选择它作为嵌入式操作系统。Windows CE操作系统具有分层模型特点,将功能模块按照调用次序分为若干层,见表1。
操作系统的功能在操作系统层和应用支持库实现,应用支持库的上部和操作系统层的上部下部,都具有接口性质,它们构成了Windows CE的应用界面和系统界面。在OEM适配层中实现的是系统界面,也集中了所有的硬件特性,使系统便于迁移。硬件层和OEM层由硬件厂商提供,操作系统层、应用开发层和应用支持库由微软提供,应用集成层则由软件开发商提供。
3.3 Windows CE系统定制过程研究
PlatForm Builder(BP)是构建嵌入式操作系统Windows CE的平台。使用PB编译板级支持包(BSP)得到Windows CE的镜像文件,然后将镜像文件移植到目标终端设备。WinCE镜像移植到目标机器上[4]。其定制过程见图1。
主要分为以下几个步骤:(1)编写终端硬件设备的板级支持包(BSP),其中包括Boot Loader程序,硬件驱动程序,OEM适配层程序等;(2)根据具体应用需求,添加WinCE相关组件,并修改相应的配置;(3)编译内核、组件和板级支持包,生成适合特定软硬件应用需求的WinCE镜像文件;(4)将镜像文件下载到目标终端并进行调试。
板级支持包(BSP)及相关程序是根据各种具体硬件配置情况而给出的基础软件,它一般是由终端硬件开发商以光盘形式随产品提供给用户的,在PB中将BSP包导入后即完成安装,导入后的包将为软件系统定制提供相应的硬件信息支持。
在Platform Builder中为本应用新建一个工程项目,选择Mobile Handheld作为设计模板。接下来从所提供的多个BSP包中选择TQ2440:ARMV4I包,它把开发板使用的三星S3C2440处理器芯片和其它硬件设备的驱动程序加入到嵌入式操作系统中,并且能够支持从64MB到1GB的Nand Flash,支持从64MB到128MB的SDRAM。
根据本系统的特定需求情况添加应用程序组件和网络通信组件。如Windows Media Audio/MP3(多媒体)、Word Pad(Word文本)、Internet Browser(浏览器)、Tcp/IP/IPV6(网络协议)、LAN(局域网应用)、BlueTooth(蓝牙应用)、IrDA(红外接口应用)、WAN(广域网应用)等。同时可选择性添加net2.0(3.5)、MFC支持、数据库、网络(FTP服务器、Telnet服务器、Web服务器等)、USB设备支持(USB鼠标/键盘、U盘等)、文件系统支持(Binfs、Fatfs等)、注册表可保存支持、多媒体、中文输入法、USB主从设备等相关组件。
最后根据不同情况,对BSP包可进行快速编译或完整编译,编译后生成StepLdr.nb1、eboot.nb0、NK.bin等镜像文件。
4 Windows CE镜像文件烧写
使用串口终端工具软件SecureCRT烧写Windows CE镜像文件(StepLdr.nb1、eboot.nb0、NK.bin)到开发板,过程见图2。
图2 系统烧写过程
详细过程如下列步骤:(1)从NorFlash启动进入Uboot下载模式分别烧写StepLdr.nb1和eboot.nb0镜像;(2)从Nand Flash启动并按PC的空格键进入eboot下载模式用USB下载NK.bin镜像。最后重新启动开发板,经过程序引导后,目标开发板进入Windows CE定制后的应用系统界面,见图3。
图3 系统界面
5 结语
嵌入式软硬件产品种类繁多,需要根据具体功能与应用需求来选择适合的基础开发平台。本文研究了TQ2440开发板和Windows CE操作系统的性能,并针对开发板对操作系统进行定制,以完成满足嵌入式学习平台系统的架构。实践表明该系统具有可靠性高、稳定性好、功耗低等优点,具有良好的应用前景。但本系统也存在不足之处,在今后进一步开发时需要采用嵌入式软件开发技术增强如师生交流、学习测试等方面的应用功能。
[1]陈长顺,管希萌,洪伟,等.嵌入式技术研究进展[J].扬州教育学院学报,2009(3):50-54.
[2]陆启帅,蒋冰华.基于S3C2410和Windows CE的智能移动终端设计[J].陕西理工学院学报,2005(4):13-15.
[3]何臻祥,陈波.基于三星S3C2440 Boot Loader的研究[J].软件开发与应用,2008(6):92-94.
[4]周毓林,宁杨,陆贵强,等.Windows CE.net内核定制及应用开发[M].北京:电子工业出版社,2005.