段错误____书上的最简单字符驱动,生成了模块.另一个测试程序(写1操作).

David2008 2004-07-28 02:30:26
我已经成功加载了一个叫做test.o的模块
用lsmod 已经可以看到
然后我有个用户check 程序,目的是通过它测试我的驱动对否
(就是从内核空间往用户空间的一个数组里,全部写1)
(相信很多人看过这个程序)

但是我在运行 ./check 的时候
提示:
段错误
__________________
请问怎么解决
...全文
141 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
David2008 2004-07-29
  • 打赏
  • 举报
回复
谢谢
aria 2004-07-29
  • 打赏
  • 举报
回复
检查你的open_test()和release_test()是否有返回0
David2008 2004-07-28
  • 打赏
  • 举报
回复
驱动代码为:
http://community.csdn.net/Expert/TopicView3.asp?id=3215937

测试的关键代码为:
-------------------
testdev=open("/dev/test",O_RDWR);
if(testdev==-1)
exit(0);
read(testdev,buf,10);
for(i=0;i<10;i++)
printf("%d\n",buf[i]);
close(testdev);
****************************
并且每次运行 ./check
在lsmod看,就看见 test 被多使用了一次
David2008 2004-07-28
  • 打赏
  • 举报
回复

在 /dev 下我成功的加载了 一个 test
----------------
然后才运行的 ./check
-------------
aria 2004-07-28
  • 打赏
  • 举报
回复
你在/dev/下有没有建设备文件(/dev/test)),注意主设备号可以通过/proc/device中获取,或者偷懒一点直接在加载模块时打印,然后再建立/dev/下的设备文件(我的机子上是加载时是253,so mknod /dev/test c 253 0)。

4,467

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧