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

Linux 驱动学习

2010-06-06 16:22 169 查看
最近想学习一下,linux驱动,买了这本书已经很长时间, 但是一直都没有看。

也想把这个过程记录下来。

1.Linux驱动程序,第三版。

2.想自己编译个内核, 可是搞了半天都没有运行成功。想以后再搞,先搞一下驱动。

3.运行hello world。

以下是我的环境:

1.Centos 5.3 ,运行在XP上vmare里。

2 . 好在我安装Centos是已经把源代码树也装上了。 所以之前说要进行的linux内核的编译就能放一放。

3.以下是我的第一个程序:

Helloworld.c

#include <linux/init.h>

#include <linux/module.h>

static int hello_init(void)

{

printk(KERN_ALERT "Hello World,This is Ricky's first linux driver programe/n");

return 0;

}

static void hello_exit(void)

{

printk(KERN_ALERT "Goodbye, cruel world/n");

}

module_init(hello_init);

module_exit(hello_exit);

以下是Makefile:



PWD=$(shell pwd)

KERNEL_SRC = "/usr/src/kernels/2.6.18-128.el5-i686" #这个路径是源代码树的位置

obj-m :=helloworld.o

module-objs := helloworld.o

all:

$(MAKE) -C $(KERNEL_SRC) M=$(PWD)

clean:

rm *.ko

rm *.o

写好这些,在当前位置的命令行输入 make, 就能编译。生成helloworld.ko

在root下 insmod helloworld.ko

然后运行 dmesg

在最后一行就能看到上述的输入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: