免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7180 | 回复: 18
打印 上一主题 下一主题

scull驱动奇怪的问题。不能运行。已解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-01 10:34 |只看该作者 |正序浏览
本帖最后由 HJLin 于 2010-12-01 17:42 编辑

从昨天晚上开始发现这个问题一直美法解决。非常郁闷啊。。。

问题如下:
ldd3上面的例子,原来我是用一个文件(scull.c)全部实现的。运行没有问题。后来为了优化设计,我把各个功能拆开到多个文件中(scull_fops.h scull_fops.c scull.c)中。出现问题了,编译正常,但是insmod scull.ko加载之后(dmesg, /var/log/messages)没有任何反应。/proc/devices也没有生成scull设备。非常的郁闷啊。

下面是代码,请高手帮助小弟一把: scull.tar.gz (2.85 KB, 下载次数: 62)

论坛徽章:
0
19 [报告]
发表于 2011-01-13 17:27 |只看该作者
Makefile的问题,原先的scull.o模块现在依赖 scull.c 和 scull_fops.c生成。改成这么写就行了
obj-m:=modscull.o
modscull-objs:=scull_fops.o scull.o

还有设备注册那个函数有点问题
如果设备号申请成功但是设备注册失败,注册的设备号未释放,最好调用scull_exit之后再return -1

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
18 [报告]
发表于 2010-12-02 19:47 |只看该作者
太少了。
EZWORD 发表于 2010-12-02 15:56



    哈哈,再接再厉!

论坛徽章:
0
17 [报告]
发表于 2010-12-02 15:56 |只看该作者
回复  EZWORD


    感谢热心,我也给你加分了,继续发扬!
dreamice 发表于 2010-12-02 15:18



    太少了。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
16 [报告]
发表于 2010-12-02 15:18 |只看该作者
回复 16# EZWORD


    感谢热心,我也给你加分了,继续发扬!

论坛徽章:
0
15 [报告]
发表于 2010-12-01 17:42 |只看该作者
呵呵,别忘了给我加点分。。。

论坛徽章:
0
14 [报告]
发表于 2010-12-01 17:41 |只看该作者
回复 14# EZWORD


    果然是高手啊,第二个方法改个名字就能用了。非常感谢。
ps:自学这个东西还真困难啊。

论坛徽章:
0
13 [报告]
发表于 2010-12-01 17:37 |只看该作者
第一个方法应该是这样:
1,makefile中去掉上面说的那一行
2,在scull.c中把那个scull_fops.c包括进来
第二个方法就是把makefile重写:网上搜到例子如下
 如果是多个源文件编译出一个模块,那么假设模块名是mytest.ko,那么源文件名不能有mytest.c,下面是一个例子:
  obj-m := mytest.o
  mytest-objs := file1.o file2.o file3.o


对于第一个方法确认可用,第二个你自己试试吧。

评分

参与人数 1可用积分 +18 收起 理由
dreamice + 18 正确回答

查看全部评分

论坛徽章:
0
12 [报告]
发表于 2010-12-01 17:32 |只看该作者
回复 12# EZWORD


    给个具体的方法好么?没有弄过啊?

论坛徽章:
0
11 [报告]
发表于 2010-12-01 17:30 |只看该作者
你这个问题应该在于makefile上,
直接把他包括进来,或者只修改makefile也可以。
具体方法参考Documentation\kbuild\modules.txt
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP