首页 > 电脑专区 > 电脑教程 >

寄存器的设置及初始化

来源:互联网 2023-02-21 19:05:18 281

最近小编收到很多问题,其中一个就是下面小编为大家整理一下关于寄存器的设置及初始化的步骤,希望这些方法能够帮助到大家。9Ff办公区 - 实用经验教程分享!

寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

方法/步骤

  • 1

    9Ff办公区 - 实用经验教程分享!

    9Ff办公区 - 实用经验教程分享!

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 2

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 3

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 4

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 4本页面未经授权抓取自百度经验
  • 5

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 6

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

    寄存器的设置及初始化9Ff办公区 - 实用经验教程分享!

  • 注意事项

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

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!9Ff办公区 - 实用经验教程分享!


    标签: 操作系统寄存设置

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码