RTEMS管理机制与USB驱动程序的设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RTEMS管理机制与USB驱动程序设计 引 言 在 航空航天和工业控制等一些嵌入式应用领域,要求控制系统具有严格的实时性,能够为任务提供一个可预见的响应时间。一些实时操作系统的引入可以有效地满足任 务的实时性要求,如RTEMS和VxWorks。在这样的系统中,如果系统通信模块的通信速度不高,或者通信质量不可靠,就会影响整个系统的实时性能。通 用串行总线(USB)由于其高带宽、高可靠性的特点,必将越来越多地应用到这类系统中。然而由于多数实时操作系统目前并未提供USB主机和设备的,而且协议相对于其他串行通信协议(、等)复杂度较高,使得USB驱动程序的开发难度较大。 1 RTEMS及其设备管理机制 1.1 RTEMS简介 RTEMS(Real—Time Executive for MultiprocessorSystem)是一个为嵌入式应用系统提供高性能支持环境的实时操作系统内核,早期用于美国军方的导弹系统。RTEMS的实 时性能高于RTLinux,与VxWorks相比也毫不逊色。 RTEMS具有如下特点:支持多任务;支持同构或异构多处理器系统;支持事件驱动、基于优先级、占先的调度算法,具有单调速率调度算法;支持任务间的通信和同步;支持优先级继承算法,快速响应的中断管理;支持动态存储器分配,具有用户配置的能力。 RTEMS是微内核抢占式的实时操作系统,具有实时性能好、运行速度快和可靠性高等优点,在通信、航空航天、工业控制等领域有着非常广泛的应用。 1.2 设备管理机制 操作系统的一个重要功能就是为应用程序提供一个统一的I/O设备的虚拟接口,使用户程序能够按照相同的模式对设备进行操作,无需关心每个设备的具体特性。 RTEMS系统提出了一种设备抽象模型,使用这种模型,应用程序通过相同的I/O系统调用埘没备进行操作,而不必关心实现细节。RTEMS的I/O管理器提供的系统调用包括: ◆rIems_io_initialize,初始化一个设备驱动程序; ◆rtems_io_register_name,注册一个设备名; ◆rIems_io_lookup_name,根据设备名查找主/副设备号; ◆rterns_io_open,打开一个设备; ◆rteros_io_close,关闭一个设备; ◆rtems_io_read,从一个设备中执行读操作; ◆rtems_io_write,向一个设备中执行写操作; ◆rteros_io_control,特殊的设备服务。 RTEMS 系统使用设备驱动程序地址表来提供这种抽象,在这个表中提供了每个标准I/O请求处理函数的入口地址。RTEMS使用设备的主设备号和副设备号来定位它的 驱动程序。主设备号是设备驱动程序地址表中相应设备表项的索引,用于选择某个设备驱动程序;副设备号的用途则依赖于具体的设备驱动程序,通常用于在相同设 备驱动程序所控制的若干设备中指定特定的设备。在RTEMS系统中,每个特定的设备都有与之相关联的设备名称。RTEMS系统内核中包含了一个“设备驱动 程序文件名表”。这个表将设备文件名与设备的主、副设备号联系起来,应用程序可以使用注册设备名查找与一个设备相关联的主设备号/副设备号,进而通过标准 I/0系统调用和主设备号/副设备号在设备驱动程序地址表中找到该设备的驱动程序的入口函数地址,对设备进行操作。 RTEMS系统在初始 化时,会调用各个设备驱动程序的初始化函数,初始化所有的设备驱动程序。当应用程序需要对设备进行操作时,会执行有关设备管理的I/O系统调 用,RTEMS会根据该系统调用判断应该选择的设备驱动程序的入口函数。由应用程序传递给RTEMS的信息,将被传递给适当的设备驱动程序入口函数。 2 USB通信协议简介 USB(Universal Serial Bus,通用串行总线)是一种在主机和设备之间进行串行数据传输的通信协议。USB接口由于速度快、可靠性高、功耗低等优点,已成为当前微机的必备接口, 同时也被广泛应用于嵌入式系统设计中心。USB的物理拓扑为分层的星型结构,由3部分组成——USB主机、USB集线器和USB设备,如图l所示。 USB主机是USB系统的主控组件,控制总线上所有USB设备和USB集线器的数据通信过程,所有的数据传输都是由USB主机端发起的。 USB主机控制器的复杂度要远远高于USB设备,典型的USB主机控制器大约需要10 000个门电路,而设备端的USB接口大约需要1 500个门电路。正是由于这种设计复杂度的不平等,使得USB设备得以在短时间内得到广泛应用。 3 RTEMS下USB设备驱动程序的设计 3.1 概 述 嵌入式系统的硬件环境千差万别,各类USB设备的类规范也各不相同。为了确保程序的可移植性和可扩展性,将程序设计

文档评论(0)

wpxuang12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档