4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
Inter core i7处理器中(x86架构)驱动开发:关于APCI Har..._CSDN博客
来自 : CSDN技术社区 发布时间:2021-03-25

   最近在调试Inter平台core i7 基于X86架构的工控产品 在移植驱动的过程中 发现GPIO和I2C的device ID添加到pnp驱动框架后无法进入probe函数 后面找了下原因 因为pnp遵循的是ACPI规范 是由于如下Hardware ID字段是需要从BIOS中进行描述的 而目前的驱动匹配不到对应的字段 自然就不可能注册成功了。

   PNP是什么东西 不是三极管的那个PNP啦 这个PNP表示的是 Plug-and-Play 译文为即插即用。

   PnP的作用是自动配置底层计算机中的板卡和其他设备 然后告诉对应设备都做了什么。PnP的任务是把物理设备和软件设备驱动程序相配合 并操作设备 在每个设备和它的驱动程序之间建立通信信道。然后 PnP分配下列资源给设备和硬件 I/O地址、IRQ、DMA通道和内存段。即插即用设备配置的控制权将从系统BIOS传递到系统
软件 所以驱动中一定会有代码进行描述 到时可以跟一下这部分的代码深入了解一下。由于PNP遵循ACPI的规范 那么既然是规范 那肯定要照着做了 规范怎么说 那就怎么做。

以下是关于ACPI Spec中对Hardware ID的描述 描述如下

\"\"

\"\"

有关ASL语言可以参考ACPI SPEC手册的ACPI Source Language (ASL)Reference章节。

如上 关于Hardware ID手册中的意思大致如下

      该对象用于向OSPM提供设备的PNP ID或ACPI ID。 在描述平台时 任何_HID对象的使用都是可选的。但是 _HID对象必须是用于描述将由OSPM枚举的任何设备。 当总线枚举器不能检测到设备ID时 OSPM只枚举一个设备。当总线枚举器不能检测到设备ID时。例如 ISA总线上的设备是由OSPM列举。除了OSPM使用_ADR对象来描述总线枚举器枚举的设备。

    其中OPSM是 OSPM(OS-directed Power Management) OSPM 操作系统支持 ACPI 的一个部分 操作系统 OS 可以从操作系统下驱动程序的角度控制 ACPI 子模块 同时支持 ACPI 包括 SCI 中断 设备事件 系统事件模式 这些事件模式可以充分支持 Hot-plug 方式。

    所以解决驱动匹配不上的问题 只要在BIOS中的ASL工程中对应Hardware描述的部分添加一个字段描述 确保驱动中的字段和BIOS中的字段一致 这样就可以匹配成功了。

OSPM 

操作系统支持

 ACPI 

的一个部分 操作系统

 

OS

可以从操作系统下驱动程

序的角度控制

 

ACPI 

子模块

同时支持

 

ACPI 

包括

 SCI 

中断

设备事件

系统事件模式

这些事件模式可以充分支持

 

Hot-pl

ug 

方式。

以下是ACPI中关于PNP ID和ACPI ID的规范信息

网址 http://www.uefi.org/PNP_ACPI_Registry

PNP ID AND ACPI ID REGISTRY

本文链接: http://apci.immuno-online.com/view-742357.html

发布于 : 2021-03-25 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://