linux下hello world驱动模块

以后想在linux驱动和嵌入式上发展,就学点这些东西,但是第一个hello world 模块就让我弄了半天!还是理解太浅。

下面贴一下源代码:

hello.c

#include <linux/init.h>

#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

 

/* the init function*/ 

static int hello_init(void) 

         printk(KERN_INFO "Hello world !/n"); 

         return 0; 

/* the distory function*/ 

static void hello_exit(void) 

         printk(KERN_INFO "Goodbye!/n"); 

 

module_init(hello_init);

module_exit(hello_exit);

 

//makefile很简单

obj-m:=hello.o

编译:

1.系统必须安装kernel-headers

2.注意下源程序中头文件路径

make -C /lib/modules/2.6.36-ARCH/build D=/PATH/

第一个路径是你的kerneldir

第二个路径是你的源文件路径

 

最后加载和删除模块:

insmod ./hello.ko

rmmod hello

 

当执行这两个命令时,未出现我们预期的字符串。有可能被输入到log文件里了。我的输入到 /var/log/messages.log

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值