主题 : 关于自动创建设备文件 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 18505
精华: 0
发帖: 48
金钱: 250 两
威望: 50 点
综合积分: 96 分
注册时间: 2010-04-10
最后登录: 2011-05-05
楼主  发表于: 2010-05-15 12:59

 关于自动创建设备文件

请驱动中自动创建设备文件语句如下,
  #ifdef CONFIG_DEVFS_FS
    devfs_mk_dir("key");
    devfs_mk_cdev(MKDEV(keyMajor, LEDRAW_MINOR), S_IFCHR|S_IRUGO|S_IWUSR, "key/%d", 0);
    #endif
这个驱动中的主设备号是0,采用自动分配设备号的方式,用cat /proc/devices 观察设备号是252,请问这个驱动程序对应的应用程序打开设备的路径确实dev/key/0  请问为啥啊
学习交流
级别: 新手上路
UID: 18505
精华: 0
发帖: 48
金钱: 250 两
威望: 50 点
综合积分: 96 分
注册时间: 2010-04-10
最后登录: 2011-05-05
1楼  发表于: 2010-05-15 21:25
自我理解dev/key/0就是目录,通过MKDEV(keyMajor, LEDRAW_MINOR)这个建立桥梁关系
学习交流
级别: 新手上路
UID: 21390
精华: 0
发帖: 8
金钱: 45 两
威望: 9 点
综合积分: 16 分
注册时间: 2010-05-15
最后登录: 2011-05-02
2楼  发表于: 2010-05-16 11:03
哪个版本的 我用2.6.30.4 可以通过class实现
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-05-17 21:32

 回 楼主(bcpingping) 的帖子

为什么不ls -l /dev/key/0一下,看看这个252在什么地方?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."