1、长江大学 嵌入式报告嵌入式操作系统WinCE的移植及应用程序设计 系 (院): 计算机科学学院 专业班级: 计算机科学与技术学院 姓 名: 学 号: 指导教师: 王剑 设计时间: 设计地点: 目录一、课程设计目的 3二、课程设计要求 3(1)功能要求 3(2)设计所需设备与工具 3三、嵌入式操作系统Windows CE的特点 3四、Windows CE的主要模块及各自的功能 4(1) Windows CE层次架构: 4(2)Windows CE的主要模块及各自的功能 42.1 内核模块 42.2 对象存储模块 42.3图形窗口和事件系统模块 5五、基于嵌入式操作系统Windows CE的应用程
2、序设计原理 5(1)PlatformBuilder开发工具 5(2)BSP原理 5六、基于Windows CE操作系统的应用开发 6(1)应用程序的创建 6(2)编译生成可执行文件 6(3)应用程序的调试 7七、课程设计内容 7(1)嵌入式操作系统Windows CE平台的搭建 77.1.1 实验平台的设置 77.1.2 平台的编译,构建系统,生成映像文件 117.1.3 下载内核镜像: 11(2)ActiveSync的使用 14(3)七段数码管和LED显示控制程序设计 167.3.1 Windows CE 下访问物理地址的方法 167.3.2 硬件电路接口分析: 177.3.3 实验步骤:
3、18(4)IO接口控制-电机控制设计 197.4.1 硬件接口电路分析: 197.4.2 实验步骤: 19八、课设结果 20九、课设收获、体会和建议 24一、课程设计目的1学习嵌入式系统、嵌入式操作系统,掌握基于嵌入式系统的应用开发基本知识.2学习嵌入式操作系统Windows CE的特点,Windows CE的主要模块及各自的功能.掌握嵌入式操作系统Windows CE内核的配置、编译、移植方法.3熟悉Visual Studio.NET开发环境,掌握基于Windows CE平台的应用程序设计方法.4. 学习使用Visual Studio.NET对硬件设备编程的一般方法 .熟悉 Platform
4、 Builder 开发工具使用方法二、课程设计要求(1)功能要求安装XSBase270实验开发平台的BSP;在嵌入式操作系统Windows CE平台定制的集成开发环境Platform Builder(PB)上定制内核,编译和调试并生成内核映像文件,下载并运行编译好的Windows CE系统;在VS.NET中编写对 XSBase270目标板上LED和七段数码管的控制程序,下载运行程序.(2)设计所需设备与工具 装有Platform Builder、Visual Studio.NET开发环境,有并口、串口和USB接口的PC 机一台. XSBase270 实验开发平台一套.三、嵌入式操作系统Wind
5、ows CE的特点 Microsoft Windows CE 是一个开放的、可裁剪的、32 位的实时嵌入式窗口操作系统和其他桌面窗口操作系统(Windows XP/2000)相比,它具有可靠性好、实时性高、内核体积小等特点,适用于各种嵌入系统和产品。它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的嵌入式硬件系统。同时,开发人员可以根据特定硬件系统对Windows CE 操作系统进行裁剪、定制,所以目前Windows CE 被广泛用于各种嵌入式智能设备的开发,是当今应用最多、增长最快的嵌入式操作系统。Windows CE 被设计成为一种高度模块化的操作系
6、统,每一模块都提供特定的功能,这些模块中的一部分被划分成组件,系统设计者可以根据设备的性质只选择那些必要的模块或模块中的组件包含进操作系统映像,从而使Windows CE 变得非常紧凑(只占不到200 KB的RAM),因此只占用了运行设备所需的最小的ROM、RAM 以及其它硬件资源。四、Windows CE的主要模块及各自的功能(1) Windows CE层次架构:HL层:可以可靠使用的硬件设备,具有可以运行Windows CE的硬件配置。OAL层:设备原始制造商完成的与OS适配结合的抽象层。OSL层: Windows CE内核及系统服务。 AL层:应用程序层。如下图所示:(2)Windows
7、 CE的主要模块及各自的功能Windows CE 被分成不同的模块,其中最主要的模块有内核模块(Kernel)、对象存储模块、图形窗口事件子系统(GWES)模块以及通信(Communication)模块。一个最小的Windows CE 系统至少由内核和对象存储模块组成。2.1 内核模块内核模块是Windows CE 操作系统的核心,它为任何基于Windows CE 的设备提供处理器调度、内存管理、异常处理以及系统内通信等系统功能,并为应用程序使用这些核心功能提供内核服务。Windows CE 的内核模块通过CoreDLL 模块表示。所有的操作系统定制设计都必须包含这个模块,但并不是这个模块的所
8、有组件都必需的,有一些内核组件是可选的。2.2 对象存储模块对象存储是Windows CE 的默认文件系统,它相当于Windows CE 设备上的硬盘。对象存储是由共享一个内核堆的文件系统、系统数据库和系统注册表组成,即使在没有系统主电源时,对象存储也能维持应用程序及相关数据不会丢失。对象存储可将用户数据和应用程序数据存入文件或注册器。在操作系统创建进程(该进程中只包括那些必需选项)的过程中,对于这些不同的对象存储组件,可以选取,也可以忽略。2.3图形窗口和事件系统模块图形窗口和事件系统模块(GWES)包含大部分的核心Windows CE 功能,它集成了图形设备接口(GDI)、窗口管理器和事件
9、管理器。GWES 模块时Windows CE 操作系统高度组件化的部分,它分别由USER 和GDI 两部分组成,USER 用来处理消息、事件及鼠标和键盘等用户输入,而GDI 用于处理图形的屏幕和打印输出等。五、基于嵌入式操作系统Windows CE的应用程序设计原理 (1)PlatformBuilder开发工具Platform Builder(PB)是微软提供给 Windows CE开发人员进行基于 Windows CE平台下嵌入式操作系统定制的集成开发环境.它提供了所有进行设计、创建、编译、测试和调试WindowsCE操作系统平台的工具.它运行在桌面Windows 下,开发人员可以通过交互式
10、的环境来设计和定制内核、选择系统特性,然后进行编译和调试.该工具能够根据用户的需求,选择构建具有不同内核功能的 CE 系统.同时,它也是一个集成的编译环境,可以为所有CE支持的CPU目标代码编译C/C+程序.一旦成功地编译了一个CE系统,就会得到一个名为nk.bin的映像文件.将该文件下载到目标板中,就能够运行 CE了。Platform Builder提供的主要特性包括:. 平台开发向导(PlatformWizard)和BSP开发向导; 2. 特性目录(Catalog)3. 导出向导(Export Wizard)4. 导出SDK 向导(ExportSDKWizard)5. 远程工具 6. 仿真
11、器(Emulator)7. 应用程序调试器 8. 内核调试器 9. 驱动测试工具包(Windows CE.net Test Kit)10. 基础配置。(2)BSP原理BSP又称板级支持软件包,它是一个包括启动程序、OEM适配层程序(OAL)、标准开发板(SDB)和相关硬件设备驱动程序的软件包.BSP是基于 Windows CE平台系统的主要部分,它是由一些源码和二进制文件组成.BSP 的主要功能在于配置系统硬件使其工作在正常状态,并且完成硬件与软件之间的数据交互,为OS及上层应用程序提供一个与硬件无关的软件平台。BSP 在系统中所处的位置,位于硬件平台与操作系统或应用软件之间,用于屏蔽上层软件
12、对各种硬件的相关性。BSP 的主要功能在于配置系统硬件使其工作在正常状态,并且完成硬件与软件之间的数据交互,为OS 及上层应用程序提供一个与硬件无关的软件平台。六、基于Windows CE操作系统的应用开发 Windows CE操作系统是基于Win32 API的,因此Windows CE下的应用程序开发与在Windows 97、Windows NT和Windows 2000下相似。Windows eMbedded Visual C+提供了开发Windows CE应用程序的集成开发环境与工具,来帮助开发人员创建、编译与调试应用程序。如果曾使用Microsoft Visual C+开发过应用程序,
13、会发现eMbedded Visual C+提供了相似的开发环境。不同的是eMbedded Visual C+提供了特定的工具与资源来开发Windows CE应用程序。(1)应用程序的创建 使用应用程序向导AppWizard创建一个应用程序需经历以下过程: 从File菜单中选择New激活AppWizard。选择Project中的WCE MFC AppWizardexe,新建一个Window CE MFC应用程序。输入工程名,并根据目标Windows CE设备,选择特定的CPU类型,在本例中选择了WCE模拟器。 a) 选择程序风格与语言支持。b) 给工程添加新的特性,并选择控制条类型。c) 选择是
14、否自动生成源代码注释,并选择MFC库是作为共享DLL还是作为静态链接库。最后点击Finish,eMbedded Visual C+将自动生成应用程序的框架,之后可以利用集成环境作进一步地开发。(2)编译生成可执行文件 在编译生成可执行文件之前可以选择Project菜单栏中的Settings菜单项修改工程的设置,如设定编译器、链接器。在本例中选择目标平台的SDK为STANDARD SDK,目标平台为WCE设备模拟器并且在编译生成可执行文件过程中产生调试信息。 eMbedded Visual C+提供的Windows CE操作系统设备模拟器使程序员可以在没有具体Windows CE操作系统设备的情
15、况下,开发与调试Windows CE操作系统应用程序,从而提高了开发效率。选择编译生成可执行文件的目标平台为Windows CE操作系统设备模拟器,当运行应用程序时集成开发环境将激活模拟器,下载可执行代码到模拟器并执行。 (3)应用程序的调试在调试程序前需要同编译生成可执行文件一样设定目标平台、目标设备(可选中菜单项Build一Set Platform与Build-Set Active Configuration设定,或从工具栏设定) 。 为使在调试过程中程序自动被下载到远程设备(或WCE设备模拟器)上,选择Tools菜单栏上的Options项,在对话框中点击download标签,选中Alwa
16、ys download binary to the target与Always download dependencies to the target。 现在可以开始调试,将鼠标指向Build菜单栏下的Start Debug并选择适当的命令使程序在调试状态运行。a) Go,开始执行程序,遇到断点时中断执行。b) Step Into,在WinMain函数的入口点中断程序的执行,如果没有设置断点可以使用这条命令,从程序入口开始一步步地执行。c) Run to Cursor,运行至光标处,这个命令只有在代码编辑窗口打开时有效。七、课程设计内容(1)嵌入式操作系统Windows CE平台的搭建7.1.
17、1 实验平台的设置 第一步:新建一个目标平台:a) 选择菜单项“File” -“New Platform Wizard.”; b) 输入目标平台名称和保存的位置,如下左图所示:c) 为目标平台选择所支持的BSP,XSBase270开发板选择选择 “EMDOOR SYSTEM XSBA SE270:ARMV4I” 平台,如下图d) 为新建的目标平台选择一个合适的模板配置,如本页右上图:e) 在 “Application & Media”选择有关特性(本实验选则默认项) ;如图f) 在“Networking & Communications”中选择可用特性(默认项) ;如下图:g) 完成 “New
18、 Platform Wizard.” ,如下页左上图:第二步:平台的配置: a) 选择菜单项“Platform”“Setting”.b) 在“Platform Settings”对话框中设置“General”选项卡.选中“Release” ,如下图所示c) 在“Platform Settings” 对话框中设置“Build Options”选项卡;针对该 XSBase270开发板实验平台的选项配置如下图所示:第三步:配置系统组件和特性:如图下图所示, 左边的workspace 区显示的是所配置的WinCE 操作系统所具有的组件,右边的Catalog区显示的则是 PB提供的能够加入到 WinCE
19、 操作系统的所有组件.实验者可以在右边的catalog区中选择自己需要的设备驱动程序和功能组件. 如果决定要添加它到左边的workspace 区以参加编译,通过右击选项再选择“Add to OS Design”.a) 添加 XSBase270 实验平台提供的设备驱动程序XSBase270实验平台的驱动程序由平台 BSP 提供,其中包括输入设备 (Input Devices)、网络设备(Networking)、PC卡(PC Card)、SD卡、串口、触摸屏、USB 设备等;另外还包括Emdoor OEM 驱动程序(主要包括:CAN总线驱动、IDE 接口驱动、LED显示驱动、电机接口驱动等). b
20、) 添加系统功能组件系统的功能组件属于平台无关部分,由Platform Builder开发环境统一提供.它们均是在Core Os目录下进行添加.用户可以根据实验的需要添加系统功能组件,本实验中添加以下系统功能组件: 添加数据同步的组件:Core OS Windows CE devices Applications-End User ActiveSync File Sync; 图片浏览器的添加:Core OS Windows CE devices Applications-End User File Viewers Microsoft Image Viewer 大的软键盘组件的添加:Core O
21、S Windows CE devices Shell and User Interface Software Input Panel Software-based Input Panel (SIP) (Choose 1 or more) SIP for Large Screens 文件系统的添加:Core OS Windows CEdevices File Systems and Data Store Storage Manager FAT File System; 配置信息保存模块添加:Core OS Windows CE devices File Systems and Data Stor
22、e Registry Storage (Choose 1) Hive-based Registry; CF 卡模块的添加:Catalog Device Drivers Storage Devices Compact Flash /PC Card Storage (ATADISK)EVC调试程序组件模块的添加:Catalog Platform Manager Platform Manager7.1.2 平台的编译,构建系统,生成映像文件选择菜单项 Build OS Sysgen 对平台进行编译(如下图所示) ,如果没出任何错误,编译完成后将生成一个系统映象文件 NK.bin,该文件被放在所建工程
23、所保存的目录下的/RelDir/工程名_ ARMV4I_Release目录下(本实验的编译后的映像文件NK.bin保存在C:WINCE500PBWorkspacesxsbase270RelDirXSBase270_ARMV4I_Release 目录下).7.1.3 下载内核镜像: 将并口线(JTAG)、串口线、以太网线分别和微机连接好,连接ARM实验箱电源线,打开ARM电源. 打开资源管理器,找到文件夹c:Windows CE 光盘Jflash_Pxa270_P30下的文件cmd.bat,双 击执行,在“”提示后键入jflashmm.exe pxa270 EBOOT.nb0,然后回车,出现下图
24、,选择”y”:写入并校对. 写Eboot到flash存储器结束后出现下图(正常写入).写Eboot到flash:如果校对出错,重复,直到出现上图为止. 如果多次写入出错,关闭ARM电源,20秒后打开ARM电源,重新烧录.关闭ARM电源右键单击”网上邻居” ”属性”,弹出网络连接对话框. 右键单击”本地连接”属性”,设置TCP/IP协议. 修改IP地址为192.168.0.2,见下图. 其他不变.在桌面上找到超级终端图标, 双击启动. 打开ARM电源.出现信息后按空格键(!)进行设置. 选择0改IP,只要保证ARM的IP和微机的IP在同一网段即可,如192.168.0.5或192.168.0.6
25、选择5,改为,ARM上的WINCE烧录后可自己启动,其他不用设置,和之前的保持一致就可以了.请将微机时间改为2007/10/1,PB才能使用.找到PB工程文件,启动.超级终端将出现下图:按下图的菜单进行PB和ARM的连接设置: 在Download选项点击Setting:出现下图,选择XSBASE2700117,确定 在PB中点击Target- Attach Device ,连接PB和ARM,出现文件下载对话框, 同时在超级终端中出现WINCE烧录信息.如下图:WINCE烧录结束后ARM上自动启动WINCE.自此,WIN CE平台搭建完成.(2) ActiveSync的使用 ActiveSync
26、用来实现PC上的应用程序和ARM上的应用程序保持同步.(1) 打开目标机(ARM)电源,进入“网络和拨号连接”.(2)双击“新建连接”,建立一个新连接.见下图.点击“下一步”.(3)选择“直接连接”,点击“下一步”, 选择设备“COM2”,点击“配置”,按下图进行配置.(4)“我的连接”已经创建完毕.(5)在ARM机的WINCE系统中选择“控制面板”“PC连接”. 出现下图对话框后,选择“更改”. (6) 选择“我的连接”,见左下图,确定,ARM中“我的连接”创建完成.见右下图. (7) 插上USB线,微机会自动识别USB设备,并启动ActiveSync.启动后选择”是”.1.USB线一定要在
27、第(6)步之后插,否则连接不成功.如果出现此情况,则拔掉USB线,重新建立一个新的连接,再插USB线.2.ARM上的“我的连接”在ARM关电后会消失.(8)在弹出的”新建合作关系”对话框中选择”联系人”、”任务”、”日历”、”文件”,然后点击”下一步”.弹出”文件同步”对话框,点击确定.选择”下一步”, 然后点击”完成”. 在弹出的Microsoft Office Outlook对话框和Microsoft Outlook同步对话框中点击确定. 直到弹出的Microsoft ActiveSync对话框中出现已连接已同步.实验完成. (3) 七段数码管和LED显示控制程序设计做此实验需要了解在 W
28、indows CE下访问硬件I/O 寄存器的一般方法;了解 WinCE 下IO访问机制和原理;了解数码管(LED)的显示及控制原理;熟悉 VS.Net 的使开发环境.7.3.1 Windows CE 下访问物理地址的方法 虚拟内存函数IO接口属于 XScale 处理器的外部设备,类似于通常所使用的 PC的串口、并口或者 PC喇叭.对于一般单片机,可以直接操作硬件,即通过直接读写IO端口来访问硬件.而对于Windows CE操作系统,不允许直接访问硬件,尽管知道物理地址,我们仍不能直接访问它,因此必须使用特殊的方法来访问硬件.Windows CE操作系统出于稳定性和安全的要求,屏蔽了用户应用程序
29、对硬件访问的权限,只有内核应用程序才可以访问硬件资源.如果要直接访问某一个地址的物理内存,可以采用内存映射的方法,将该硬件寄存器映射到普通的内存空间,像操作内存地址一样操作硬件寄存器.Windows CE提供了VirtualAlloc()和VirtualCopy()函数,VirtualAlloc负责在虚拟内存空间内保留一段虚拟内存,而VirtualCopy负责把一段物理内存和虚拟内存绑定,这样,最终对物理内存的访问还是通过虚拟地址进行.下面简单介绍这些函数的作用和使用方法.VirtualAlloc()函数用于分配一块内存空间.如果要映射一个硬件寄存器,必然要将其映射到一块确定的内存空间.在这里
30、我们分配一个内存空间.这个内存空间并不占用实际内存空间,而是留待后面进行分配.VirtualCopy()负责将硬件设备寄存器的物理地址与 VirtualAlloc()分配的虚拟地址做一个映射关系,这样驱动程序访问虚拟地址即是访问对应的物理地址处的第一个寄存器.7.3.2 硬件电路接口分析: XSBase 目标板LED 和七段数码显示接口电路如图3-1 所示,74HC574 为D 锁存器,在时钟信号CLK 作用下,该锁存器将输入信号进行锁存,即xQxD(x=18)。从电路图中可以看出,LED和八段数码显示电路将74HC574 的时钟信号输入端作为片选信号,其中LED 显示的片选信号为LED_CS
31、4、七段数码显示的片选信号为LED_CS1。在七段数码显示电路中,数据的高位(D7、D15:即数码管的小数点dp 段)用作七段数码的公共选通信号,通过控制PNP 三极管来控制数码管的显示。图3-1 LED 和七段数码显示接口电路显示电路中的片选信号LED_CSx(x=1-4),由XSBase270 目标板系统的处理器PXA270x的地址信号BA22BA20 通过3-8 译码器LC138 产生(如图3-2 所示)。图3-2 片选信号产生电路 由3-8 控制功能可知,当BA22、BA21、BA20101 时产生LED 显示电路的片选信号LED_CS4,当BA22、BA21、BA20010、011、100 时分别产生七段数码显示电路的片选信号LED_CS1、LED_CS2、LED_CS3。根据分析,可以得出七段数码管和LED 的片选信号为:LED_CS10x10200000、LED_CS20x10300000、LED_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1