基于 AT91SAM9261 平台的 Windows CE 的移植.doc

上传人:sccc 文档编号:5192433 上传时间:2023-06-12 格式:DOC 页数:6 大小:122KB
返回 下载 相关 举报
基于 AT91SAM9261 平台的 Windows CE 的移植.doc_第1页
第1页 / 共6页
基于 AT91SAM9261 平台的 Windows CE 的移植.doc_第2页
第2页 / 共6页
基于 AT91SAM9261 平台的 Windows CE 的移植.doc_第3页
第3页 / 共6页
基于 AT91SAM9261 平台的 Windows CE 的移植.doc_第4页
第4页 / 共6页
基于 AT91SAM9261 平台的 Windows CE 的移植.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于 AT91SAM9261 平台的 Windows CE 的移植.doc》由会员分享,可在线阅读,更多相关《基于 AT91SAM9261 平台的 Windows CE 的移植.doc(6页珍藏版)》请在三一办公上搜索。

1、精品论文基于 AT91SAM9261 平台的 Windows CE 的移植张德华 北京航空航天大学自动化科学与电气工程学院,北京 (100083) E-mail: dhuazhang摘要:本文是基于 ARM 的平台进行嵌入式操作系统 Windows CE 的移植研究,其中微处理器选用 ATMEL 的 AT91SAM9261。文中首先对硬件平台进行了介绍,然后给出了 Windows CE 5.0 在 ARM 上的移植过程并对 BSP 进行了详细的分析设计,具有通用性,适合大部分 基于 AMR926EJ-S 内核或 AT91 系列芯片的移植。关键词:ARM;BSP;移植;Windows CE;AT

2、91SAM9261;嵌入式操作系统 中图分类号:TP2021. 引言近些年来,以软硬件组成为显著特征、以消费电子类产品为主导的智能设备以超乎人们 想象的速度获得了前所未有的发展,在这个过程中,Windows CE 嵌入式操作系统已经越来 越多地被开发商支持及使用,并迅速成为嵌入式操作系统主流平台之一。Windows CE 是微 软公司面向嵌入式领域推出的一款功能强大的开放且可剪裁的 32 位实时嵌入式窗口操作系 统。和其它操作系统相比,它具有可靠性好、实时性高、内核体积小等优点,所以被广泛地 应用于各种嵌入式智能设备、工业控制等各个领域,是当今应用最多、增长最快的嵌入式操 作系统。其模块化的设

3、计可以使开发人员可以根据需要定制设备,这一方面可以使其内核体 积非常小,而又可以使其产品功能多样化1。其提供的一系列集成定制开发工具使得开发嵌 入式应用软件的门槛大大降低。而基于 Windows CE 的嵌入式系统开发一般包括开发硬件平 台、开发针对此硬件平台的 BSP、定制操作系统、应用程序的开发等。但由于 BSP 是操作 系统与硬件板卡之间重要的交互接口,因此编写功能完善的 BSP 是开发 Windows CE 嵌入 式系统最为关键的一步。本文针对 Atmel 的 AT91SAM9261 平台详细分析了 BSP 的开发的主要任务和结构特点 以及实现中的技术难点;并重点讨论了 Eboot 的

4、开发设计;给出了一套可行的引导程序流程; 讨论了 Windows CE 的移植原理,详细介绍了其移植过程。2. 硬件平台简介本系统所采用的 CPU 为 AT91SAM9261,它是业界第一款以 ARM926EJ-S 处理器为核心的 超低功耗微处理器,是专为功耗低、数据吞吐量大的无线手持式应用市场开发的,采用符合 RoHS 环保指令的 217 球的 LFBGA 封装,具有丰富的片内外资源和较高的性价比2。设计 中本系统存储器模块采用了两片共 64MB 的三星的 SDRAM 型号 K4S561632E 以及 2Gbit NAND 型号 K9F2G08U0M。其中 SDRAM 用作存放系统运行时的程

5、序、数据及堆栈区,掉 电后该部分程序和数据会丢失;NAND FLASH 广泛应用于存储系统启动代码、系统内核 、 应用程序、操作系统应用软件等,即使掉电程序和数据也不会丢失,而且方便在线升级。硬 件平台实现原理图如图 1 所示。- 6 -图 1 硬件平台实现框图3. 基于 AT91SAM9261 的 Windows CE 操作系统架构层次化的设计方法可以使系统有良好的扩展性和可维护性3。图 2 显示了基于 ARM 硬 件平台的 Windows CE 嵌入式系统的层次化体系结构。从该图还可以看出 BSP 对硬件接口 进行了抽象。这样有了 BSP 层的抽象后,操作系统内核的代码就可做到只与 CPU

6、 体系有关 了。因此成功开发出 BSP 是移植操作系统最为重要的一步。图 2 系统级结构框图4. Windows CE 嵌入式操作系统的移植在移植之前首先要了解 Windows CE 的 4 个核心进程:1)NK.exe,提供内核服务,是 操作系统的核心。2)GWES.exe,提供用户界面服务和消息管理。3) DEVICE.exe,加载和维 护系统设备驱动程序。4)FileSys.exe,文件系统管理进程,负责文件系统的管理3。4.1 构建集成开发环境(IDE)Windows CE 为了做到跨平台时尽可能多的重用已有代码,它提供了一整套平台开发工 具: Platform Builder 5.0

7、。其所具有的集成开发环境使开发人员能够以简便快捷的方式创建 定制化解决方案。安装时要注意 Platform Builder 5.0(PB5.0)依赖于桌面的.NET Framework1.1,因此安装前要注意首先安装.NET Framework 1.1。当 BSP 调试通过的时候,则通过 PB5.0建立的系统也就基本上能在目标板上运行了。4.2 BSP 的开发4.2.1 BSP 简介BSP 即板级支持包,是介于主板硬件和操作系统之间的一层软件系统。由于操作系统经 常需要和硬件进行直接交互,而不同体系结构的硬件平台之间具体的实现差异非常大,这样 导致了操作系统实现跨 CPU 体系结构非常困难。而

8、如果把操作系统与硬件交互的接口抽象 出来,作为单独的一层函数,这样操作系统访问底层硬件时,就可以直接由抽象出来的这层 函数完成操作4。因此很多嵌入式操作系统中都有 BSP 层。而 BSP 正如其名,它所对应的 是某块具体的开发板而不是某款 CPU 或 CPU 体系结构。但 BSP 的都有通用的功能结构, 了解了这些结构可以大大加快 BSP 的开发。由图 2 可以看出,在 Windows CE 中,BSP 主要由引导程序 Boot Loader、OAL、设备 驱动程序以及平台配置文件构成。4.2.2 Boot Loader 的开发引导程序(Boot Loader)作为 BSP 的一部分,是嵌入式

9、系统上电复位后第一歌执行的 代码。当系统加电开始运行或系统复位时,代码开始执行的地址对 ARM 来说是 0X0H。其 主要目的是执行系统自检、系统初始化(硬件、软件)及引导操作系统,最后进入用户的 main()函数5。基于 AT91SAM9261 的启动分析如图 3 所示:图 3 AT91SAM9261 启动分析本启动采用 NandFlashBoot,具体实现如下:(1)运行 PB5.0,从 ARMV4I 克隆一个新的 BSP, 命名 为 AT91SAM9261 。 完成后可以在 _WINCEROOT%Platform 下看 到 AT91SAM9261(笔者机器上为 D:WINCE500Pla

10、tformAT91SAM9261)。(2)由本硬件平台 启动特点修改此目录下的 startup.s、main.c、nand.c、makefile.inc 以及 source 文件。最后再 次构建 Boot Loader, 在命令提示符窗口运行 Build _c 命令,如果运行成功则将会在 D:WINCE500AT91SAM9261TargetARMV4IRetail 文件夹下产生 eboot.bin 和 eboot.nb0 文 件。若出现错误则要检查 Eboot 目录下的 build.log 文件并分析出错原因。(3)根据硬件特点 修改串口调试函数,这部分和 OAL 共享。修改完后需要再次构建

11、 Boot Loader 以保证初始 化正确。(4)测试 Boot Loader 的通信。通过验证下列项目来测试 Boot Loader 的通信:a) 验证 Boot Loader 能够从 DHCP 服务器获得 IP 地址,并能从 PB5.0 返回用户设置信息;b) 验证 PB5.0 能够收到目标设备名。(5)验证映像文件的下载。在进行下一步的设计前需要先 验证下载过程是否正常。为此,以下载 BootLoader 映像本身来进行下载测试:a)再次构建 Boot Loader 映像,使用下面命令: Build _c这将生成新的 eboot.nb0 和 eboot.bin 文件。b) 使用 PB5

12、.0 打开上面新生成的 eboot.bin 文件,然后下载,确认下载过程是否正常。如果不 正常回去修改 OEMPreDownload 部分代码,然后重新构建并进行下载测试。4.2.3 OAL 的开发OAL 是逻辑上驻留在 Windows CE 内核与目标设备硬件之间的代码层。在构建过程中, OAL 代码被构建系统编译成 OAL.lib 库文件,然后 OAL.lib 与其它的一些库进行统一的链接, 最终形成 Windows CE 操作系统内核可执行文件 NK.exe。开发 OAL 是移植 Windows CE 操作系统的关键,是最复杂的一部分内容,所幸的是在 开发 OAL 时 Boot Load

13、er 部分的很多代码都可重用。在 ARM 平台下从系统上电,OAL 代 码开始执行到操作系统开始进行进程调度大致经过了 Startup()、KernelStart()、ARMInit()、 KernelInit()和 FirstSchedule()函数4。OAL 的实现方法虽然与 Boot Loader 相似但又有不同。因为 Boot Loader 带有很强的顺 序流程性,因此只要按部就班地按照顺序依次实现每个函数就可,无需考虑性能和效率。但 是 OAL 经过链接后它的代码将成为内核不可分割的一部分,而且在整个操作系统运行的过 程中时刻运行,而且还会影响系统的稳定性、安全性、实时性以及驱动程序

14、和应用程序的功 能。因此在 OAL 实现时必须详细的分析其各个模块的功能。在实现 OAL 时主要需要修改的模块分为:Startup 函数、调试串口、中断处理、时钟操 作 Cache 操作、CPU 状态管理、内核的输入/输出以及 KITL。最后在命令提示符窗口键入以下命令创建 NK.BIN 映像文件:blddemo clean _q ,确认 启动过程是否正常并验证 PB5.0 能够通过使用 Windows CE Target Control Shell 连接到目标设备。确认下列命令正常工作:gi proc|thrd|mod|delta|all4.2.4 驱动程序的开发 驱动程序是一个抽象物理设备

15、或虚拟设备的功能软件,驱动程序管理浙西设备的操作。Windows CE 下的驱动程序都以用户状态下的 DLL 文件形式存在的。与 Win32DLL 一样,Windows CE 驱动程序 DLL 中的代码要得以运行,必须被一些进程动态加载到地址空间。 微软在 PB 中为用户提供了绝大多数类型设备驱动程序的源代码。一部分独立于平台,位于%_winceroot%publiccommonoakdrivers 文件夹下;另一 部分是与 平台无关 ,位于 %_winceroot%platform 下的 BSP 内。这两部分代码进行链接构成最终的设备驱动程序。 一般开发者需要修改驱动程序与平台相关部分的代码

16、并根据自己的需要进行定制。修改完毕后驱动程序通过 sources 文件被编译为一个后缀名为.dll 的动态链接库。4.2.5 平台配置文件的实现 平台配置文件主要包括映像配置文件和源代码配置文件。常用的映像配置的文件包括二进制镜像构建器文件(BIB)、注册表文件(REG)、文件系统文件(DAT)和数据库文件(DB)。MAKEIMG 应用配置文件来创建操作系统运行映像。常用的源代码配置文件包括 Dirs 文件、 Sources 文件和 Makefile 文件等,主要为 Build 工具指明需要用到的路径以及生成什么类型 的二进制文件等。这些文件都可以根据硬件平台的需要进行修改。4.3 在 PB5

17、.0 中定制内核并编译通过 PB5.0 建立新的 Project,通过 Build OS 菜单 SYSGEN 命令,便可得到映像文件NK.BIN。4.4 导出 SDK编译完成后通过 project 菜单中的 Export Wizard 导出平台 SDK,供开发上层软件使用。4.5 映像下载并调试在 PB5.0 的 Target 菜单上选择 connectivity option,系统显示 Target Device Connectivity Options 对话框,在 Download 列表中选择 Ethernet,在 Transport 列表中也选择 Ethernet,并在 Debugger

18、 列表中选择 KdStub,单击 Download 列表框旁边的 Setting 按钮,系统显示 Ethernet Download Settings 对话框。打开目标平台,LCD 显示屏将显示启动过程。直接按下回车键, 目标机平台显示为黑屏,并显示“Jumping to”。这时目标机将向与其在一个网段的所有机 器发送“BOOT ME”数据包,并传送自己的硬件地址和设备名。若开发机和目标平台网络连 接正常,则在 Download Settings 对话框中的 Active Device 列表框会出现一个字符串,这个 字符串就是目标机的设备名。单击这个字符串,然后单击“OK”“APPLY”最后单

19、击“Close”, 完成开发机和目标机的连接设置。然后在 PB5.0 的 Target 菜单上选择“Attach Device”,系统将 显示下载进度界面。下载结束后自动在目标机上加载当前平台运行时映像,一段时间后就可 在目标机显示器上看到 Windows CE 操作系统的界面。5. 结语本文介绍了在基于 AT91SAM9261 的平台上进行 Windows CE 5.0 操作系统的移植流程, 该移植的结果在带有触摸屏控制的系统中得到了验证。目前 Windows CE 操作系统移植的资 料在国内不多,但其发展迅速。因此本文给出了移植 Windows CE 操作系统的流程以及实现 难点。开发人员

20、明白了移植的要点与实现难点后就可举一反三,并迅速有效的开发基于 ARM 的 Windows CE 系统。另外本文介绍的系统具有功耗小、实时性高、界面友好、操作简便等 优点,可应用于智能产品开发以及工业控制等领域,应用前景非常好。参考文献1 Microsoft .Microsoft Windows CE 5.0 help2 Datasheet of AT91SAM9261 Atmel Corporation,20073 周毓林. Windows CE .Net 内核定制及应用开发M.北京电子工业出版社,20054 Michael Malueg. Board Suppor Packages in

21、Windows CE 5 杜春雷.ARM体系结构与编程M清华大学出版社,2005Transplant of Windows CE Based on AT91SAM9261PlatformZhang DehuaSchool of Automation Science and Electrical Engineering, BUAA (100083)AbstractThe Transplantation of Windows CE Embedded Operating System to ARM platform is introduced in this paper and the ARM is

22、 AT91SAM9261 of Atmel. Firstly, it presents the hardware platform, and thenintroduces the course of Transplantation of Windows CE 5.0 to ARM platform. Lastly, it particularly analyses the design of BSP. As a result, t is current and can mostly applied for the chips with a core ofARM926EJ-S or the series of AT91.Key words:ARM; BSP; transplant; Windows CE; AT91SAM9261; Embedded Operating System作者简介:张德华(1984),男,汉族,北京航空航天大学自动化科学与电气工程学院, 硕士研究生,研究方向为导航制导与控制。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号