嵌入式操作系统wince实践教程理工课件windows ce bsp开发_第1页
嵌入式操作系统wince实践教程理工课件windows ce bsp开发_第2页
嵌入式操作系统wince实践教程理工课件windows ce bsp开发_第3页
嵌入式操作系统wince实践教程理工课件windows ce bsp开发_第4页
嵌入式操作系统wince实践教程理工课件windows ce bsp开发_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、BSP开发目录板级支持包(BSP) 简介BSP的结构开发BSP板级支持包(BSP) 简介BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP与开发板一一对应它所对应的是某块具体的开发板/产品板,而不是某款CPU,也不是某类CPU体系结构。BSP是相对于操作系统而言的不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写。BSP的编程过程大多数是在

2、某一个成型的BSP模板上进行修改,这样才能与上层OS保持正确的接口,良好的支持上层OS。 板级支持包(BSP) 简介BSP的主要功能系统启动时,完成对硬件的初始化。例如,对系统内存、寄存器、以及设备的中断进行设置。为驱动程序提供访问硬件的手段。BSP的结构BSP主要由4部分组成:OEM抽象层、引导程序、设备驱动程序和配置文件。OEM抽象层(OAL)OAL : OEM 抽象层位于Windows CE 系统内核和目标板硬件之间,负责操作系统和目标板的通信。由引导程序调用,随后进行目标板的初始化工作,包括中断服务,实时时钟,内部计时器,调试部件,中断使能等等。OAL的代码在物理上是内核的一部分,经编

3、译链接,OAL成为内核的一部分。由硬件 OEM厂商提供。引导程序(Boot Loader)引导程序(Boot Loader)是在硬件开发板上执行的一段代码。主要功能初始化硬件加载操作系统映像到内存跳转到操作系统代码去执行EBoot:Boot Loader通过以太网从工作站下载操作系统映像到目标机,然后把映像放到内存里执行,称之为EBoot(Ethernet Boot的简称)。配置文件配置文件是一些包含配置信息的文本文件。BSP中的配置文件包括文件.BIB, .DB, .REG, .DAT:这些文件告诉Make Image工具如何生成操作系统映像。Sources, DIRs:告诉构建系统如何构建

4、代码。 CEC:BSP可与Platform Builder集成。设备驱动程序设备驱动程序也是BSP的一个重要组成部分,支持相关外围设备以及动态安装的设备。 对于某个特定的BSP来说,BSP当中应该包含在这块开发板上的所有的外设驱动程序。通过BSP包含的设备驱动程序操作系统能够发挥此开发板的最大效能。创建BSP的两种方法编写全新的BSP需要编写所有的部分包括 OEM抽象层, 驱动, 引导程序大约消耗 20人/月工作量改写现有的BSP对与目标板具有相似硬件组成的BSP的基础上进行某些改写,使其适用与目标板,这是最简单的方式。BSP 向导下面是创建基于Windows CE 的BSP的一般步骤,典型的

5、情况下会产生一个 .cec w文件 Platform - BSP Wizard BSP开发流程如果操作系统映象可以直接引导,引导程序不是必须的但通常使用一个引导程序,以便日后的扩充。另外也可以用于支持制造过程中的下载测试 引导程序的重要性在于可以支持开发过程中的运行时映象加载功能,也就是说在系统运行过程中,动态加载需要调试的模块引导程序(可选)引导程序的功能初始化目标设备内存和中断控制器设置时钟和内存管理单元直接引导现存的flash 或RAM 映象下载之前清空RAM内存读写测试下载Windows CE 映象到RAM或flash:并口网卡引导程序的加载引导菜单引导程序的开发实现OEM的应用程序接

6、口(API).连接Microsoft提供的库引导程序的任务黑体字标识的函数需要由OEM厂商来实现.控制流图C:WINCE420PUBLICCOMMONOAKDRIVERSETHDBG MON引导程序 StartUp函数硬件复位和运行时复位需要执行的第一条指令设置为超级用户模式执行必须的硬件初始化: CPU 内存控制器系统时钟 串口缓存 快表 (TLBs) 根据使用的CPU修改Startup.s引导程序 - EbootMainEbootMain是C代码运行的入口调用 MON库 MON 库 源文件在 mon.c 文件中,路径为%_WINCEROOT%PublicCommonOakDriversEt

7、hdbg directory引导程序 OEMDebugInit用来初始化串行口,作为调试输出 OEMDebugInit初始化完成后, 一个Windows CE的标记会出现,表示这个接口可以使用了. 引导程序 - OEMPlatformInit各种OEM 硬件平台初始化函数,包括时钟, PCI接口,或者NIC接口. NIC接口用于下载映象,另外服务于后面一些函数.引导程序 - OEMPreDownload在加载一个运行时映象时首先被 MON调用.查找硬件设备的IP地址,并与宿主机相连如果出错返回-1引导程序 - OEMLaunchOEMLaunch 是引导程序的最后一个需要运行的函数.负责跳转的

8、到需要运行的映象.跳转到由dwLaunchAddr指定的第一条指令,这条指令在运行时映象的启动函数里.OAL开发类似于引导程序的开发可以重用引导部分的代码OAL架构内核开发 黑体显示的函数需要由OEM厂商来实现内核工作流KITL这样的设计可以很容易加入任何调试服务功能把通信协议和与之直接通信的硬件层分离开来减少用户在创建硬件独立层的工作量在系统映象中包含对KITL的支持CPU加电,跳转到复位向量可选 引导程序从Startup()开始执行执行OAL中的Startup()KernelStart() KernelInitialize() For x86 Kernel调用 OAL中的OEMInit()

9、完成内核初始化内核加载Filesys.exeFileSys初始化注册表内核加载在HKEY_LOCAL_MACHINEInit 中列出的应用程序启动流程驱动程序开发参见前面的课程.利用 BSP Wizard可以添加到BSP中举例:分析 Motorola DragonBall BSP我们已经学习过什么?我们系统、完整地学习了 Windows CE 开发流程.从设备制造商得到硬件和 BSP需要设计硬件?设计实现你的硬件为硬件设计BSP需要定制平台?从设备制造商处得到平台和 SDK 定制你的 Win CE 平台导出你的 SDK编码、测试发布产品Windows CE 测试工具包 (CETK)Tux “s

10、erver”Kato 日志引擎设备驱动加载以及TUX扩展(DDLX)常规 TUX 测试综述CETK 结构Microsoft 提供了自动测试体系结构Client/Server结构支持远端测试通过 “Tux”加载自动测试实际的测试是以DLLs的形式通过 TUX加载到系统中通用日志引擎 “Kato”DLL exposes C and C+ API for logging to the serverCETK Server利用TUX启动特定的测试保存日志以及产生报告运行于桌面系统以便进行远程测试Windows CE 测试工具包 (CETK)TUX ServerTUX.EXE监控 TUX 测试 DLLs的程序实际的测试是以 DLL的形式进行的通过 TUX.EXE加载测试DLL由远端用户界面应用程序发起运行桌面系统上的CETEST.EXE也可以在设备上独立运行KATO 日志引擎DLL :提供 API,以便将测试结果保存成日志C+ 类库C 函数从TUX测试抽象出日志机制本地文件远端连接设备驱动加载以及TUX扩展 (DDLX)允许测试 DLL加载到设备管理进程空间允许对APIs和功能的测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论