开发 PCI 外部总线设备固件
发布时间
阅读量:
阅读量
1、数据结构:
在PCI设备中,存在三种不同的地址空间,分别是PCI的I/O空间、存储空间以及配置空间。CPU具备访问所有这些地址空间的能力,其中I/O空间和存储空间主要用于设备驱动程序的操作,而配置空间则由Linux内核中的PCI初始化代码进行管理。在系统启动过程中,内核会完成对所有PCI设备的初始化工作,设置包括中断号和I/O基址在内的各项参数,并将所发现的所有PCI设备及其相关参数与属性信息记录在文件/proc/pci中。
- pci_driver
该数据结构定义于文件include/linux/pci.h中,是Linux内核版本2.4之后为新型PCI设备驱动程序新增的结构体。其核心功能包括用于识别设备的id_table结构,以及用于执行设备检测的函数probe( )和用于卸载设备的函数remove( ):
struct pci_driver {
struct list_head node;
char *name;
const struct pci_device_id *id_table;
int (*probe) (struct pci_dev *dev, const struct pci_device_id *id);
void (*remove) (struct pci_dev *dev);
全部评论 (0)
还没有任何评论哟~
