发布网友 发布时间:2022-04-24 14:39
共2个回答
热心网友 时间:2023-10-16 19:33
我想应该是从设备的名字来区分是字符还是块设备,因为设备驱动本身是个子系统,然后,在建立设备文件与设备驱动关联的时候,也就是自动创建设备文件的时候,class_create和devicec_create会根据你建立的设备名索引到你的设备驱动,因此,它们就知道该为你创建的是字符设备文件还是块设备文件了。
这仅仅是个人猜测而已,因为字符设备文件和块设备文件的创建都是使用这两个函数,而从表面的调用来看是分不出是字符还是块的。那唯一能关联起来的就是设备名了,而这两个函数能跟设备名关联起来的也就是类名了。
热心网友 时间:2023-10-16 19:34
把你下载的CD即ISO文件,导入到你的虚拟光盘里,打你的VWORK(虚拟机),新建一个虚拟机,属性那里的盘,用你的虚拟光盘(盘符)。一般能行。
请参考追问我的意思是在编驱动时的问题:驱动中创建设备文件有手动创建和自动创建两种,手动用
mknod filename(设备文件名 ) type(设备类型) major minor
自动创建
myclass = class_create(THIS_MODULE,"test_char"); /*在sys下创建类目录/sys/class/test_char*/
device_create(myclass, NULL, MKDEV(mem_major,0), NULL, "memdev0");
不知道哪个参数体现创建的设备文件类型?求解!谢谢!