- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CF 卡驱动软件设计说明
1. 驱动模型介绍
1. IVxBu 码驱动介绍
操作系统 VxWorks6.X 版本下的驱动开发提出一个新的概念: VxBus 虚拟总线。 在 VxBus 提出之前,驱动程序是通过直接编辑修改 BSP 产生的。 VxBus 提供对设 备 驱动的管理,提高了 VxWork 开发的可扩展,可升级等性能。一方面, VxBas 将各个 驱动有效组织, 并将驱动对应到实际的设备上, 形成实例;另一方面, VxBus 给上 层软件提供友好的接口来调用设备, 使底层驱动对于上层用户更加透明。 另 外, VxBus 将设备驱动模块化,这些模块能在 WindRiver 的开发环境 Workbench 里方便 的组织和配置, 这就意味着驱动可以加入一个工程中, 也可以进行配置和 删除,不 需要对 BSP 进行修改,简化了驱动的开发过程。
按照驱动完成的不同功能, VxBus 将驱动分为以下几个大类:串行驱动、存 储 驱动、网络接口驱动、非易失性 RAM 驱动、计时器驱动、 DMA 空制器驱动、总 线控 制器驱动、 USE 驱动、中断控制器驱动等。对于 VxBus 驱动结构的更详细的 介绍请 参考《基于 VxBus 的驱动程序架构分析》。本文中,我们将 CF 卡设备按照 存储驱动 类进行开发。
1.2 文件系统与XBD 工具
VxWorks 为不同类型的应用提供多种文件系统。大多数 VxWorks 文件系统依 赖 eXtended Block Device(XBD) 工具作为文件系统和设备驱动之间的标准接口。 这 种接口可以允许开发人员将文件系统和设备驱动自由组合。 可移动设备的文件 系统 利用文件系统监督程序自动监测设备插入, 并且在设备上实例化适当的文件 系统。
CF 卡属于物理块设备,物理块设备是指由一系列可访问的独立数据块组成的 设 备。在 VxWorks 中,块就是指最小的可寻址单元。最常见的块设备就是磁盘。 在 VxWorks 中,块设备的接口与其它 I /O 设备的接口不同,它不是与 I /0 系统 直接交 互,而是通过 eXtended Block Device(XBD) 处理文件系统与块设备之间 的 I /0 活 动,它提供了文件系统与块设备之间的标准接口。
1.3 CF 卡的 XBD 驱动模型
大容量块设备驱动与文件系统进行交互,文件系统与 I /0 系统进行交互。
XBD(extended block device) 使用 ERF(event reportingframework) 与驱动和高 层功 能交互。系统为 CF 卡设备驱动分配一个 XBD 吉构。当 CF 卡插入系统后, ERF 就会
产生一个插入事件通知那些等待该设备插入的上层函数。 XBD 工具包括两个
主要数据结构:①XBD 吉构,保存设备名,设备类型,设备方法指针,设备块大 小以
及块数等设备物理属性;②BIO 结构, Block —IO(BIO)结构包括读写 XBD 设 备的必 要信息:起始块号,块数,数据传输方向和数据缓存。
CF 卡设备的XBD 驱动模型如图 I 所示。大框中表示以下事件:
(1) DOS FAT32 文件系统向 ERF 登记,并且等待设备插入事件。
⑵ 设备驱动通知 ERF 设备插入,并且为 CF 卡设备创建一个 XBD 接 口。
(3)ERF 通知已经注册的 FAT32 文件系统,现在文件系统就可以访问 CF 卡设 备 了。
(4)文件系统在 XBD 设备驱动的上层再创建一个分区层。
另外, CF 卡驱动分为两层,靠近底层的 CF 卡主控制器驱动 Sata Host
Controllerdriver ,以及靠近上层的 XBD 大容量存储驱动 Mass Storage Class
XBDdriver。
图 1-CF 卡的XBD 驱动模型
2. CF 卡驱动程序设计
VxBus 存储驱动提供块设备管理程序,将各种 VxWorks 文件系统挂载到块设
备上。它采用的 XBD 驱动程序设计工具,利用两个相关的 VxWorks 子系统库:
eXte ndedBlockDevice(XBD)和 Eve nt Reporti ng Framcwork(ERF),作为连接设 备
驱动和 VxWorks 文件系统之间的接口。驱动层次结构如图 2 所示。
图 2-驱动层次结构
驱动层又分为两个子层: CF 卡硬件驱动层和 VxWorks 子系统库驱动层。 CF 卡硬 件驱动层直接操作 P1010E 处理器上的 SATA 控制器中相应寄存器就可以对 CF 卡发 送命令,完成 CF 卡初始化以及数据传输等功能。 VxWorks 子系统驱动层 调用 eXt
您可能关注的文档
最近下载
- 大学东南大学vlsi设计基础数字集成电路_2016vlsi1-课程介绍for mooc.pdf VIP
- 医美网络咨询与沟通(医美咨询师课件).pptx
- 2025中国华电集团有限公司校招+社招笔试参考题库附带答案详解.docx
- 【打印】人教版小学3-6年级英语词汇表.pdf VIP
- 液化气体钢瓶充装前后检查及充装记录.docx VIP
- 2025年高考数学新定义题型:集合下的新定义(四大题型)学生版+解析.pdf VIP
- 科室医疗质量自查工作制度.docx VIP
- 江苏省2017届九年级化学下学期第二次模拟试题.pdf VIP
- 广州市公务车维修项目工时费明细表.pdf VIP
- 内蒙古自治区点石联考2026届高三上学期9月份联合考试政治试卷(含答案).docx VIP
文档评论(0)