1)按照上节的最简单Linux驱动框架,写的程序。在应用层调用时,发现文件打开失败。出现的问题是没有创建设备文件。
通过 cat/proc/devices 可以查看你的设备节点是否创建成功。可以看到主设备号,和设备名。
通过 ls /dev/ 可以看到设备文件是否存在。如果没有,需要手动进行创建,创建方法如下:
mknod /dev/设备名 设备类型(c、b) 主设备号 次设备号
2、在内核代码中之自动创建设备文件,代码如下:
int major;
struct class *myclass;
major=register_chrdev(0,"memdev",&mem_fops);
myclass = class_create(THIS_MODULE, "memdev");
device_create(myclass, NULL, MKDEV(major, 0), NULL, "memdev");