QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4250|回复: 11

我的第一个驱动程序,怎么看不到输出

[复制链接]
发表于 2006-3-20 11:15:33 | 显示全部楼层 |阅读模式
我在puTTY下调试看不到输出,在linux 字符终端上也看不到我用printk打印
的hello world?
发表于 2006-3-20 12:36:31 | 显示全部楼层
源码?
回复

使用道具 举报

 楼主| 发表于 2006-3-20 15:42:57 | 显示全部楼层
#include <linux/kernel.h> /* printk()在这个文件里 */

static int
init_module
(){
printk("<1>Hello,World!\n");
return 0; /* 如果初始工作失败,就返回非0 */
}

static void
cleanup_module
(){
printk("<1>Bye!\n");
}
回复

使用道具 举报

发表于 2006-3-20 19:23:00 | 显示全部楼层
后面还缺这两个语句吧?
module_init(init_module);
module_exit(cleanup_module);
你只定义,并未执行。
好像还应该包括这两个头文件:
<linux/init.h>
<linux/module.h>
你可以参考ldd3文档。
回复

使用道具 举报

发表于 2006-3-23 13:44:53 | 显示全部楼层
默认,printk不会将信息发送之pts,你可以使用ldd中的setconsole.c程序。
回复

使用道具 举报

发表于 2006-3-23 14:25:13 | 显示全部楼层
dmesg看一下
回复

使用道具 举报

发表于 2006-3-28 22:47:27 | 显示全部楼层
#include<linux/init.h>
#include<linux/modul.h>
#include<linux/kernel.h>

static int init_module(void)
{
   printk("<1>Hello,World!\n");
   return 0; /* 如果初始工作失败,就返回非0 */
}

static void cleanup_module (void)
{
   printk("<1>Bye!\n");
}

module_init(init_module);
module_exit(cleanup_module );

MODULE_LICENSE("GPL")     /*用于指定模块的版权*/
MODULE_AUTHOR("Shakespeare")   /*指定代码作者*/
回复

使用道具 举报

发表于 2006-4-24 11:07:07 | 显示全部楼层
kill klogd然后cat /proc/kmsg
回复

使用道具 举报

发表于 2006-4-25 00:44:10 | 显示全部楼层
这个程序的Makefile是什么样子的???
可以发来看看么???
俺这两天也被搞的狂郁闷~~

还有 2.4 和 2.6 的应该有区别的吧??
回复

使用道具 举报

发表于 2006-4-25 17:02:23 | 显示全部楼层
回复

使用道具 举报

发表于 2006-4-26 15:33:21 | 显示全部楼层
2.4和2.6的区别大着去了。嘿嘿
回复

使用道具 举报

发表于 2006-5-26 13:31:46 | 显示全部楼层
用<0>就可以打印出来了,或者,你去查看dmesg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-6 00:51 , Processed in 0.081238 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表