打印
[嵌入式linux]

linux下设备节点的问题,请大神门指点

[复制链接]
4058|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王敬|  楼主 | 2012-12-5 21:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
一朝成名| | 2012-12-6 22:31 | 只看该作者
没有写函数。。。

使用特权

评论回复
板凳
原野之狼| | 2012-12-9 01:15 | 只看该作者
查我的历史发帖  可以到我博客找

使用特权

评论回复
地板
zh5202| | 2012-12-18 12:51 | 只看该作者
这个主要看你的设备驱动是如何编写的,如果是驱动自动创建设备节点,那么在/dev/会有相应的设备文件,如果驱动不主动创建设备节点,那你就要自己手动创建了:
#mknod /dev/***_name c major minor
通过查看/proc/devices文件里面的内容,就可以知道你Insmod之后在内核注册的设备的主、次设备号

使用特权

评论回复
5
yamato2011| | 2013-2-25 19:21 | 只看该作者
让驱动自动创建接点是将你的驱动注册到cdev系统中去,使用cdev_init, 然后cdev_add,然后在编译,再insmod就可以看见了

使用特权

评论回复
6
jlass| | 2013-2-26 09:18 | 只看该作者
你的描述前后有问题,首先要有节点,才能加载驱动。
如果你的文件系统支持udev就会自动产生节点,否则就看4楼的方法。
节点产生之后再加载驱动

使用特权

评论回复
7
urshine| | 2013-3-4 13:01 | 只看该作者
我今天也遇到一个这样的问题。楼上说的,我看的宋宝华的书,简单的globalmem,利用insmod加载globalmem.ko后,再cat /proc/devices能看到globalmem,之后mknod,并利用test程序访问节点,没有问题。但是我在做i2c的时候,insmod却没成功,原因是i2c中是在probe中注册设备号的,而i2c的原理是在探测到设备时才执行probe函数,所以我查看/proc/devices时没能找到设备。拿出来跟大家分享一下。

使用特权

评论回复
8
哭泣的树| | 2013-3-20 10:00 | 只看该作者
支持4搂

使用特权

评论回复
9
deng560| | 2013-6-18 14:14 | 只看该作者
在dev/ 下没有节点

使用特权

评论回复
10
HORSE7812| | 2014-3-12 09:56 | 只看该作者
学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

122

帖子

0

粉丝