广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    寄存器的设置及初始化

    来源:网络收集  点击:  时间:2024-05-08
    【导读】:
    最近小编收到很多问题,其中一个就是下面小编为大家整理一下关于寄存器的设置及初始化的步骤,希望这些方法能够帮助到大家。方法/步骤1/6分步阅读

    首先,这个16-位寄存器标识一个硬件制造商,每个 Intel 设备都标有相同的供应商号, 0x8086,这样的号有一个全球的注册,由 PCI 特别利益体所维护,并且供应商必须申请有一个唯一的分配给它们的号。

    2/6

    然后,这是另一个16-位寄存器,由供应商选择,对于这个设备 ID 没有要求官方的注册. 这个 ID 常常和 供应商 ID 成对出现来组成一个唯一的 32-位 标识符给一个硬件设备. 我们使用词语签名来指代供应商和设备 ID 对. 一个设备驱动常常依靠签名来标识它的设备; 你可在硬件手册中找到对于目标设备要寻找的值。

    3/6

    然后,每个外设都属于一个类. 类寄存器是一个 16-位 值, 它的高 8 位标识基类(或者群). 例如, ethernet和token ring是 2 个类都属于network群, 而serial和parallel属于communication群. 一些驱动可支持几个类似的设备, 每个都有一个不同的签名但是都属于同样的类; 这些驱动可依赖类寄存器标识它们的外设。

    4/6

    然后,这些字段可用来进一步标识一个设备,如果芯片对于本地总线是一个通用接口芯片, 它常常被用在几个完全不同的地方,并且驱动必须标识出它在与之通话的实际设备,子系统标志用作此目的。使用这些不同的标识符,一个 PCI 驱动可告知内核它支持什么类型的设备。struct pci_device_id 结构被用来定义一个驱动支持的不同类型 PCI 设备的列表。这些指定一个设备的 PCI 供应商和设备 ID. 如果驱动可处理任何供应商或者设备 ID, 值 PCI_ANY_ID 应当用作这些成员上。

    5/6

    然后,这些指定一个设备的 PCI 子系统供应商和子系统设备 ID。如果驱动可处理任何类型的子系统 ID, 值 PCI_ANY_ID 应当用作这些成员上。这 2 个值允许驱动来指定它支持一类 PCI 类设备。 不同的 PCI 设备类( 一个 VAG 控制器是一个例子 )在 PCI 规范里被描述. 如果一个驱动可处理任何子系统 ID, 值 PCI_ANY_ID 应当用作这些字段。

    6/6

    最后,这个创建一个 struct pci_device_id, 它匹配一个特定的 PCI 类。这些例子创建一个 struct pci_device_id 结构的列表, 列表中最后一个是被设置为全零的的空结构. 这个 ID 的数组用在 struct pci_driver ,并且它还用来告诉用户空间这个特定的驱动支持哪个设备。

    注意事项

    上述方法为小编整理所得,希望能够帮助到大家。

    操作系统方法操作
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_713470.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 22:24:49  耗时:0.024
    0.0241s