linux下hello world驱动模块

来源:互联网 发布:日本漫画哪个软件最好 编辑:程序博客网 时间:2024/05/16 05:36

以后想在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

 

 

原创粉丝点击