摘要:
针对相应设备定义描述该PCI设备的数据结构:struct device_private{ /*注册字符驱动和发现PCI设备的时候使用*/ struct pci_dev *my_pdev;// struct cdev my_cdev;// dev_t my_dev; atomic_t created; /* 用于获取PCI设备配置空间的基本信息 */ unsigned long mmio_addr; unsigned long regs_len; int irq;//中断号 /*用于保存分配给PC... 阅读全文
摘要:
Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是 Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。1. 字符设备和块设备Linux抽象了对硬件的处理,所有的硬件设备都可以像普通文件一样来看待:它们可以使用和操作文件相同的、标准的系统调用接口来完成打开、关闭、读写和 I/O控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。Linux系统中的所有硬件设备都使用一个特殊的设备文件来表示,例如,系统中的第 一个I 阅读全文