您的位置:首页 > 运维架构 > Linux

【Linux设备驱动程序(第三版)】----HelloWorld

2011-07-06 10:34 316 查看
【Linux设备驱动程序(第三版)】----HelloWorldHelloWorld.c
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
printk(KERN_ALERT "Hello, World!\n");
return 0;
}

static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye,world!\n");
}

module_init(hello_init);
module_exit(hello_exit);

Makefile
obj-m:= HelloWorld.o
modules-objs:= HelloWorld.o

KDIR:= /usr/src/linux-headers-2.6.31-14-generic/
PWD:= $(shell pwd)

default:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.ko *.mod.c *.mod.o *.o *.markers *.symvers *.order

make
make -C /usr/src/linux-headers-2.6.31-14-generic/ M=/home/wangzhzh/Module/HelloWorld modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic'
CC [M]  /home/wangzhzh/Module/HelloWorld/HelloWorld.o
Building modules, stage 2.
MODPOST 1 modules
CC      /home/wangzhzh/Module/HelloWorld/HelloWorld.mod.o
LD [M]  /home/wangzhzh/Module/HelloWorld/HelloWorld.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'

装载模块
insmod HelloWorld.ko

卸载模块
rmmod HelloWorld

查看Log
dmesg

[84263.420542] Hello, World!
[84272.598899] Goodbye,world!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: