Linux设备驱动程序(1)--简单的helloworld


现在开始学习Linux设备驱动程序。看的书是Linux设备驱动程序(第三版)。


很多时候printk都不能将消息打印到控制台,因为printk是内核的打印函数,他是有优先级的。具体的没有去深入研究,暂时在网上查到。

有一系列的宏定义。

在源代码的include/linux/kernel.h中定义

#define KERN_EMERG    0
#define KERN_ALERT    1

#define KERN_CRIT     2

#define KERN_ERR      3

#define KERN_WARNING  4

#define KERN_NOTICE   5

#define KERN_INFO     6
#define KERN_DEBUG    7


printk("<0>""Hello World Init\n");这是把控制台的级别设置最高。可以打印出来。


/*helloworld.c*/

#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>

static int __init hellowordInit(void)
{
printk("<0>""Hello World Init\n");

return 0;
}


static void __exit helloworldExit(void)
{
printk("<0>""Hello wrold exit\n");
}

MODULE_LICENSE("GPL");
module_init(hellowordInit);
module_exit(helloworldExit);


makefile中的内容为简单的一句

obj-m=helloworld.o


采用下述编译方法进行编译   注意网上很多编译的方法是针对2.4内核的。使用2.4内核的编译方法编译2.6内核会出错。

make -C /usr/src/kernels/2.6.18-53.el5-i686/ M=$(pwd) modules 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值