Linux 驱动学习

来源:互联网 发布:淘宝启泰数码怎么样 编辑:程序博客网 时间:2024/05/20 13:39

最近想学习一下,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

            在最后一行就能看到上述的输入。


 

原创粉丝点击