打印
[嵌入式linux]

加载驱动

[复制链接]
2161|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xhjlr|  楼主 | 2007-12-22 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我编译了hello.c程序后,生成了hello.o文件,接着insmod hello.o,没有任何提示。但是我查看/proc/devices,却看不到hello,因此我得不到主,次设号,无法建立设备文件。请问:为什么/proc/devices下看不到hello。

相关帖子

沙发
icecut| | 2007-12-22 12:21 | 只看该作者

lsmod

lsmod 
如果看见HELLO就对了
你先用静态的全部测试完再用动态设备号

使用特权

评论回复
板凳
xhjlr|  楼主 | 2007-12-23 16:23 | 只看该作者

看见HELLO

用lsmod 看见HELLO了,但我得不到主,次设号,无法建立设备文件,怎么办呢?
谢楼上

使用特权

评论回复
地板
icecut| | 2007-12-23 17:46 | 只看该作者

sysfs

在2.6内核中,sysfs常被挂载在/sys上,设备信息通常能够从sysfs中更好的获得。——linux divice drivers

使用特权

评论回复
5
xhjlr|  楼主 | 2007-12-23 19:02 | 只看该作者

谢楼上

我用的是redhat2.4.20-8,没有/sys呀。在2.4里面该怎么做呢

使用特权

评论回复
6
netboy_feng| | 2007-12-27 15:52 | 只看该作者

主次设备号

可以自己在程序中定义啊,然后register的时候加入

如果是字符或者块文件,要自己创建节点

如果看/proc/devices,cat devices就应该可以看见

使用特权

评论回复
7
dengbindb| | 2007-12-30 12:37 | 只看该作者

参考LDD3

LDD3第三章讲到了scull_load脚本,主要步骤:
1.装载模块 
/sbin/insmod ./$module.ko $* || exit 1

2.获得主设备号:
# retrieve major number
major=$(awk "$2=="$module" {print $1}" /proc/devices)

3.创建设备文件
mknod /dev/${device}0 c $major 0

还是仔细看那个文件吧,一切都会清楚的 :)

使用特权

评论回复
8
lelee007| | 2008-1-4 15:23 | 只看该作者

牛人一堆一堆的

使用特权

评论回复
9
lxg_fly| | 2008-1-24 09:45 | 只看该作者

re

使用特权

评论回复
10
lxg_fly| | 2008-1-24 09:47 | 只看该作者

re

lsmod里有,device里没有设备可能是你设备没申请上,如果不是动态分配的请先看下主设备号是否已经被用

使用特权

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

本版积分规则

5

主题

11

帖子

0

粉丝