WindowsCE驱动程序开发.pdf_第1页
WindowsCE驱动程序开发.pdf_第2页
WindowsCE驱动程序开发.pdf_第3页
WindowsCE驱动程序开发.pdf_第4页
WindowsCE驱动程序开发.pdf_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

windows ce驱动程序开发驱动程序开发 内容 ?platform builder 4.0介绍 ?使用platform builder集成开发环境 ?驱动程序的汇出 ?驱动程序的程序代码结构 ?驱动程序的调试 ?驱动程序实例分析 platform builder ?platform builder是windows ce驱动程序开发 环境中,一个很重要的工具。 ?platform builder和microsoft visual studio .net 被设备制造商或者bsp(硬件平台支持套件)厂 商、外围装置和芯片开发商、应用程序开发人 员所广泛使用。 ?这里我们将讲述platform builder的使用方法, 以及如何在此环境下设计驱动程序。 使用platform builder开发驱动 程序所带来的好处 ?可以使用核心调试器来调试驱动程序。 ?可以开发并测试任何类型的驱动程序。 ?可以使用windows ce test kit (cetk)来测试 驱动程序。 ?可以把一个驱动程序打包或者汇出成 .msi文件。 ?可以把一个驱动程序打包或者汇出成.cab文件 提供给目标设备的最终使用者。 ?可以验证驱动程序并把它发送给microsoft公司。 ?可以在多种硬件平台上使用并测试驱动程序。 使用platform builder开发驱动 程序的不足之处 ?许多芯片开发商对此开发环境并不熟悉。 ?不能调试基于microsoft pocket pc的设备。 ?硬件的使用或者测试平台支持可能会很 昂贵或难以找到。 ?很难把一个驱动程序移植到visual studio 里去。 platform builder 4.0介绍(1) ?微软的platform builder 4.0是一个基于 windows ce操作系统的嵌入式平台的集 成开发环境(ide)。 ?platform builder同时包括了设计、建立、 产生、测试并调试一个windows ce平台 所必须的开发工具。 ?ide提供了一个单独的集成工作区,在工 作区内可以在平台和工程中进行开发。 platform builder 4.0介绍(2) ?在platform builder中包括的开发工具: ?新建平台指导手册帮助建立一个新的平台。 ?bsp指导手册使建立一个bsp更简单有效。 ?目录列出了可以用来制定平台的操作系统特性。 ?自动的依赖性检查,保证支持一个平台的所需特性 都被包括到操作系统映像文件中。 ?封装指导手册来向其他platform builder使用者封 装使用者的目录特性。 ?基本的配置提供了建立使用者操作系统的开始点。 platform builder 4.0介绍(3) ?cetk提供了一个驱动程序测试的集成。 ?核心调试器调试一个使用者操作系统映像文件,并且 提供了测试这个映像文件性能的信息。 ?应用程序调试器用于在一个使用者操作系统映像文 件上调试一个应用程序。 ?远程工具可用于执行在windows ce目标设备上的各 种调试和信息收集任务。 ?仿真器通过模拟硬件加速并简化了开发工作,它允 许使用者在开发工作区上测试平台和应用程序。 ?封装sdk指导手册使使用者可以封装一个制定的软 件开发套件。 使用platform builder集成开发 环境(1) ?开发者可以将自己编写的驱动程序整合到 platform builder的ide环境中,这使得开发者 在以后建立的任何项目中都可以包含这个驱动 程序。 ?将驱动程序整合到ide目录下有两种方法,开 发者可以使用platform builder提供的bsp指导 手册建立一个新的cec文件,或者对一个现成 的cec文件进行修改。第一种方法相对简单, 也是通常所推荐的。 使用platform builder集成开发 环境(2) ?bsp指导手册将会引导开发者建立一个基于 windows ce的bsp,重要步骤解释如下。 ?首先自动为所建立的bsp产生一个cec文件,将bsp 相关档案拷贝到相应的目录并将cec文件导入到该目 录下。 ?指导手册会根据使用者的选择,决定所建立的bsp 中包含哪些windows ce系统核心特性、设备驱动程 序以及与微处理器相关的驱动程序,使用者建立的 系统可以小到仅仅支持少数几种硬件装置,也可以 大到包含完整的系统特性和全面的硬件支持。 使用platform builder集成开发 环境(3) ?下面是详细的步骤: ?1) 打开bsp指导手册,选择将驱动程序加入到已有 的bsp,可以在列表中选择任意一个bsp作为加入的 对象。如果不想将驱动程序和某一个特定的bsp绑 定,可以选择任一个bsp稍后再更新这个信息。 ?2) 为所产生的cec文件命名并指定一个路径。 ?3) 加入一个驱动程序并填写相关的信息。需要注意 的是,其中必须正确地指定驱动程序的类型,ide 将从类型信息中判断驱动程序对应设备的某些特性。 填写完成并确定选择后所加入的驱动程序就会出现 在这个bsp中。 ?4) 重复步骤3,直至加入完所有的驱动程序。 使用platform builder集成开发 环境(4) ?完成上述步骤以后,指导手册就会为bsp 含入所有已加入驱动程序的cec文件。需 要指出的是,按照上述方法建立的驱动 程序,通常与某个实体的bsp和处理器相 关联,如果需要建立一个关联度小一些 的cec文件,可以使用platform builder提 供的cec编辑器对产生的cec文件进行修 改。 使用platform builder集成开发 环境(5) ?下面是详细步骤: ?1) 从cec编辑器中打开一个cec文件,指定一个驱动 程序,选择advanced标签。 ?2) 在这个页面中可以改变bsp目录的选项,以表示 该驱动程序支持哪些bsp,如果需要支持任意一种 bsp,则须将bsp目录置为空。 ?3) 同样的,使用者可以指定驱动程序支持哪些操作 系统特性和cpu特性,通常推荐选择支持所有或者 全都不支持。 ?4) 最后将所有的变更储存到文件即可。 驱动程序的汇出(1) ?将驱动程序导出为msi文件,步骤如下: ?1) 在platform菜单下选择汇出指导手册。 ?2) 在对应目录下选择需要汇出的驱动程序。 ?3) 填写一些描述信息并为汇出的文件命名。 ?4) 点选完成按钮即可产生msi文件,该文件 可以直接在目标环境下安装使用。 驱动程序的汇出(2) ?将驱动程序汇出为cab档案,步骤如下: ?1) 在build菜单中选择open build release directory。 ?2) 在驱动程序的目录下利用cabarc.exe工具进行操 作。cabarc.exe是一个用于建立cab档案的命令行程 序,这个程序位于cepbbin目录下,下面是一些常 见用法: ?cabarc n mydriver. cab以mydriver为名称为指定的驱动 程序产生一个cab安装文件。 ?cabarc l mydriver. cab查看名为mydriver的cab文件内容。 ?具体操作可以使用cabarc /?来查看帮助。 驱动程序的程序代码结构(1) ?大多数基于windows ce的设备驱动程序 都采取多层次结构。 ?在大多数情况下,这种结构可以使得使 用者能仅针对需要修改的层次进行二次 开发。通常上层结构被称为模型装置驱 动层,而底层的程序代码被称为平台相 关的驱动程序层。 驱动程序的程序代码结构(2) ?开发设备驱动程序可以采取以下三种方 式: ?使用platform builder提供的驱动程序模型, 这是推荐的方法。 ?借助层次模型开发驱动程序。通常windows ce的设备驱动程序有多层结构和单层结构两 种。 ?从另一个系统中移植驱动程序,一般不建议 开发者使用这种方法。 驱动程序的调试(1) ?调试windows ce的驱动程序有很多方 法,例如使用debug zones或者核心调试 工具,也可以使用microsoft visual studio.net提供的调试工具。 驱动程序的调试(2) ?debug zones和windows ce控制台shell调试工 具(cesh.exe)提供了以下一些功能: ?可以通过宏开关控制驱动程序的讯息输出,这使得 开发者能在不中断操作系统运行的情况下进行调 试,同时能追踪驱动程序的运行状态而不干扰系统 核心的运行。 ?提供处理程序,执行绪等级别的调试状态信息。 ?可以动态控制ide环境的配置。 驱动程序的调试(3) ?核心调试工具采取的调试方式是关闭所 有的硬件中断,将整个操作系统核心挂 上,这种方式可以提供更强大的功能: ?开发者进行单步调试,并进入操作系统核心 程序代码进行分析。 ?可以取得stack trace信息。 驱动程序实例分析(1) ?在windows ce中,设备驱动程序本质上就是 一些动态链接库,这些dll向核心提供一些接 口函数,这样设备管理模块就可以通过这些函 数与具体的硬件设备进行通信。 ?在这里将要介绍一种简单的设备驱动类型串 口设备驱动,这类驱动程序接收驱动程序管理 器的命令,应用程序也可以通过文件操作的系 统调用来控制这些串口设备,驱动程序的工作 是将这些命令转换为实际的设备操作,并封装 了这一过程中传递的所有信息。 驱动程序实例分析(2) ?串口驱动程序需要实现的dll接口函数名描述 : ?xxx_close在驱动程序关闭时由应用程序通过clos ehandle函数调用 ?xxx_deinit设备管理器在卸载一个实体设备时调用 ?xxx_init设备管理器在初始化一个实体装置时调用 ?xxx_iocontrol在发送命令时由应用程序通过 deviceiocontrol函数调用 ?xxx_open在打开一个设备驱动程序时由应用程序 通过createfile函数调用 驱动程序实例分析(3) ?其

温馨提示

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

评论

0/150

提交评论