tingpan

生命不息,折腾不止!
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Ubuntu中编译helloworld驱动

Posted on 2015-08-29 18:12  tingpan  阅读(605)  评论(0编辑  收藏  举报

1、 新建hello文件夹

2、hello.c

#ifndef __KERNEL__
#  define __KERNEL__
#endif
#ifndef MODULE
#  define MODULE
#endif

// 下面的是主要的内容
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>

MODULE_LICENSE("GPL");

static int year=2012;

int hello_init()
{
    printk(KERN_ALERT "Hello kernel, it's %d!\n",year);
    return 0;
}


void hello_exit()
{
    printk(KERN_ALERT "Bye, kernel!\n");
}

// 下面两个为关键的模块函数
module_init(hello_init);
module_exit(hello_exit);

3、 Makefile

obj-m := hello.o

all :
    $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

注意:$(MAKE)前面为一个TAB键

4、 make

clip_image002

3、 insmod hello.ko

4、 dmesg

clip_image001