新手问LDD3的hello驱动问题。
问几个很菜问题:
1。我照着书上写了一个hello驱动的代码,可以编译和加载,但是在加载和卸载时printk并没有打印出字符,这是什么原因?我用的是FC4.
2。我把驱动代码加载了,但是在/dev下面没有相应的设备。是不是要手工建立,怎么建立?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
内核编程我也才到Helloworld水平.
问题1:
我也看到老书上说会打到screen,不过新的系统是要用dmesg才能看到的.
内核模块中的kprint函数要加入警告级别的一般我都加上kprint(KERN_ERR"test to output\n");
就可以了,不然的话你输出的东西要到系统的log中去看才能看到
内核显示是分级别的,默认的级别是输出不到Xwindow的中断的,你如果要在Xwindow的中断下看到,就这样写:printk("<0>hello!"!),把级别设成最高的“0”级,一共分8级;
HELLO 是看INIT和EXIT时的输出的,这是一个模块的开头和结尾.中间具体的内容还有很多,HELLO并不是一个设备驱动,继续做其他的例子或者自己有板子写一个LED的模块儿开始吧,慢慢的把这个模块丰富起来.
/DEV下是设备名称,如果你在模块中没有注册你的主次设备号,没有创建设备节点,那么是看不到的.
[ 本帖最后由 jn200002 于 2008-7-3 16:12 编辑 ]
如果是在X下,
dmesg
或者:
Ctrl + Alt +F1
在终端下看!