摘要:
在pci驱动是使用pci_present()函数在init函数中,编译过程中报错。其中的源码为:static int __init shao_init(void){ int init_ret; if (!pci_present()){ printk("This kernel version does not support PCI.../n"); return -ENODEV; } if(!pci_register_driver(&shao_driver)){ pci_unregister_driver(&shao_driver); return -ENOD 阅读全文
摘要:
Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。字符设备的驱动相对比较简单。 下面我们来假设一个非常简单的虚拟字符设备:这个设备中只有一个4个字节的全局变量int global_var,而这个设备的名字叫做"gobalv 阅读全文