标题:
如何写linux pci设备驱动程序
[打印本页]
作者:
yuyang911220
时间:
2017-6-7 09:20
标题:
如何写linux pci设备驱动程序
PCI
总线应用领域及其广泛并且令人惊奇。不同的
pci
设备有不同的需求以及不同的问题。因此,在
linux
内核中
pci
层支持就非常重要啦。本文档就是想为驱动程序设计开发人员解决
pci
处理中的各种问题。
0.
Pci
设备驱动程序的结构
现在有两种风格的的
pci
驱动程序结构:新风格的驱动(即让
pci
层来做大量设备探测
工作并且支持热插拔功能)和旧风格的驱动(即由驱动程序自己探测设备)。除非你有很好的理由,否则就不要用旧风格写驱动程序。当驱动程序找到所驱动的设备后,将执行以下步骤:
启用设备
访问设备配置空间
检测设备资源(如基地址和中断号)
分配设备资源
与设备通讯
下文将论述以上大部分步骤,其余部分请参考
<linux/pci.h>,
它有不错的注释。
如果没有配置
pci
子系统(即
CONFIG_PCI
没有置位),以下介绍的大部分函数都被定义为内联函数,它们要么是空的,要么返回对应的错误代码以避免在驱动中出现过多的条件宏
ifdefs
。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0