资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式软件开发导论嵌入式软件开发导论同济大学软件学院同济大学软件学院 200620068. BSP8. BSP开发开发目录l板级支持包(BSP)的开发l标准CETK 测试的使用 板级支持包(BSP) 简介BSP是在标准开发板上运行的一部分软件,主要功能是 支持操作系统的引导与开发。通过BSP我们可以在开发 板上快速的启动操作系统以及分析操作系统的性能。有 了BSP的支持,各个OEM(原始设备制造商)厂商和独立 硬件开发商就可以缩短基于Windows CE平台产品的开 发周期。CPU支持包(CSP) & OEM 抽象层(OAL)l lOAL : OEM OAL : OEM 抽象层抽象层位于位于Windows CE Windows CE 系统内核和目标板硬件之系统内核和目标板硬件之 间,负责操作系统和目标板的通信。由引导程间,负责操作系统和目标板的通信。由引导程 序调用,随后进行目标板的初始化工作,包括序调用,随后进行目标板的初始化工作,包括 中断服务,实时时钟,内部计时器,调试部件中断服务,实时时钟,内部计时器,调试部件 ,中断使能等等,中断使能等等由硬件由硬件 OEM OEM厂商提供厂商提供CPU支持包(CSP) & OEM 抽象层(OAL)lCSP : CPU 支持包包括用以支持特定CPU和相关芯片的OEM抽 象层和设备驱动,这一部分是与特定开发板无 关的。通常由操作系统开发商提供,Win CE操作系 统是由微软公司开发的。板级支持包的组成内容描述引导程序 加载操作系统映象OEM 抽象层 (OAL)连接内核映象,支持硬件的初始化和管理设备驱动支持相关外围设备以及动态安装的设备 配置文件可以通过对环境变量、.bib文件和 and .reg文件的 修改来重新配置BSPBSP 架构硬件抽象层驱动配置文件引导程序标准开发板BSP创建BSP的两种方法l编写全新的BSP需要编写所有的部分包括 OEM抽象层, 驱动, 引导程序大约消耗 20人/月工作量l改写现有的BSP对与目标板具有相似硬件组成的BSP的基础 上进行某些改写,使其适用与目标板,这是最 简单的方式。BSP 向导l下面是创建基于Windows CE 的BSP的一 般步骤,典型的情况下会产生一个 .cec w文 件 lPlatform - BSP Wizard BSP开发流程l如果操作系统映象可以直接引导,引导程 序不是必须的l但通常使用一个引导程序,以便日后的扩 充。另外也可以用于支持制造过程中的下 载测试 l引导程序的重要性在于可以支持开发过程 中的运行时映象加载功能,也就是说在系 统运行过程中,动态加载需要调试的模块引导程序(可选)引导程序的功能l初始化目标设备内存和中断控制器设置时钟和内存管理单元直接引导现存的flash 或RAM 映象下载之前清空RAM内存读写测试l下载Windows CE 映象到RAM或flash:并口网卡引导程序的加载引导菜单引导程序的开发l实现OEM的应用程序接口(API).l连接Microsoft提供的库引导程序的任务黑体字标识的函数需要由OEM厂商来实现.控制流图C:WINCE420PUBLICCOMMONOAKDRIVERSETHDBGBLCOMMON引导程序 StartUp函数l硬件复位和运行时复位需要执行的第一条 指令l设置为超级用户模式l执行必须的硬件初始化: CPU 内存控制器系统时钟 串口缓存 快表 (TLBs) l根据使用的CPU修改Startup.s引导程序 - EbootMainlEbootMain是C代码运行的入口l调用BLCOMMON库 lBLCOMMON 库 源文件在 Blcommon.c 文件中,路径为 %_WINCEROOT%PublicCommonOak DriversEthdbg directory引导程序 OEMDebugInitl用来初始化串行口,作为调试输出 lOEMDebugInit初始化完成后, 一个 Windows CE的标记会出现,表示这个接口 可以使用了. 引导程序 - OEMPlatformInitl各种OEM 硬件平台初始化函数,包括时钟 , PCI接口,或者NIC接口. lNIC接口用于下载映象,另外服务于后面一 些函数.引导程序 - OEMPreDownloadl在加载一个运行时映象时首先被 BLCOMMON调用.l查找硬件设备的IP地址,并与宿主机相连l如果出错返回-1引导程序 - OEMLaunchlOEMLaunch 是引导程序的最后一个需要 运行的函数.l负责跳转的到需要运行的映象.l跳转到由dwLaunchAddr指定的第一条指 令,这条指令在运行时映象的启动函数里.OAL开发l类似于引导程序的开发l可以重用引导部分的代码OAL架构内核开发黑体显示的函数需要由OEM厂商来实现内核工作流KITLl这样的设计可以很容易加入任何调试服务功能l把通信协议和与之直接通信的硬件层分离开来l减少用户在创建硬件独立层的工作量l在系统映象中包含对KITL的支持nCPU加电,跳转到复位向量n可选 引导程序从Startup()开始执行n执行OAL中的Startup()nKernelStart() KernelInitialize() For x86 nKernel调用 OAL中的OEMInit()n完成内核初始化n内核加载Filesys.exenFileSys初始化注册表n内核加载在HKEY_LOCAL_MACHINEInit 中列出的应用程序启动流程驱动程序开发l参见前面的课程.l利用 BSP Wizard可以添加到BSP中举例: 分析 Motorola DragonBall BSP我们已经学习过什么?我们系统、完整地学习了 Windows CE 开发流程.从设备制造商得 到硬件和 BSP需要设计硬件?设计实现你的硬件为硬件设计BSP需要定制平台?从设备制造商处 得到平台和 SDK 定制你的 Win CE 平台导出你的 SDK编码、测试发布产品lWindows CE 测试工具包 (CETK)lTux “server”lKato 日志引擎l设备驱动加载以及TUX扩展(DDLX)l常规 TUX 测试综述CETK 结构lMicrosoft 提供了自动测试体系结构Client/Server结构支持远端测试l通过 “Tux”加载自动测试实际的测试是以DLLs的形式通过 TUX加载到系统中l通用日志引擎 “Kato”DLL exposes C and C+ API for logging to the serverlCETK Server利用TUX启动特定的测试保存日志以及产生报告运行于桌面系统以便进行远程测试Windows CE 测试工具包 (CETK)TUX ServerlTUX.EXE监控 TUX 测试 DLLs的程序l实际的测试是以 DLL的形式进行的通过 TUX.EXE加载测试DLLl由远端用户界面应用程序发起运行桌面系统上的CETEST.EXEl也可以在设备上独立运行KATO 日志引擎lDLL :提供 API,以便将测试结果保 存成日志C+ 类库C 函数l从TUX测试抽象出日志机制本地文件远端连接设备驱动加载以及TUX扩展 (DDLX)l允许测试 DLL加载到设备管理进程空间l允许对APIs和功能的测试仅仅对设备管 理模块可用设备管理模块直接向驱动提供 APIs驱动可以直接为其他驱动提供服务常规的TUX 测试lTUXSKEL 微软提供的 TUX 测试构架作为一个最初的 “模板”用来创建常规 TUX 测试lIDE New Project Wizard 产生一个基于 TUXSKEL 结构的常规TUX 测试比手工复制和修改 TUXSKEL要简单
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号