如何将自己写的驱动编译进linux内核镜像中

时间:2024-04-04 15:46:31

    大家在做驱动开发时,通常都是将驱动源码编译为.ok文件,然后通过insmod 加载进系统中,那么如何能够实现在编译linux内核源码时,同时将驱动源码一同编译进镜像中呢?下面给出具体的方法和步骤

1,在Linux内核源码的drivers目录下创建自己的驱动源码目录,这里我同时加入两个驱动,分别是:led, button, 所以创建两个目录分别存放这两个驱动源码

        如何将自己写的驱动编译进linux内核镜像中

2,将led和button驱动源码分别存放在 myled 和 mykey两个目录中

         如何将自己写的驱动编译进linux内核镜像中

3,在myled目录中创建Kconfig文件,内容如下:

          如何将自己写的驱动编译进linux内核镜像中

4,在myled目录中创建Makefile文件,内容如下:

          如何将自己写的驱动编译进linux内核镜像中

5,在mykey目录中创建Kconfig文件,内容如下:

          如何将自己写的驱动编译进linux内核镜像中

6,在mykey目录中创建Makefile文件,内容如下:

          如何将自己写的驱动编译进linux内核镜像中

7,修改drivers目录中的Kconfig文件,在Kconfig文件的后面增加下面两行

          如何将自己写的驱动编译进linux内核镜像中

8,修改drivers目录中的Makefile文件,在Kconfig文件的后面增加下面两行

         如何将自己写的驱动编译进linux内核镜像中

9,执行 make menuconfig,将要编译的驱动选中,如下:

      Device Drivers  --->

             [*] S5PV210 led driver  ---> 

                          <*>   fs210_led 

             [*] S5PV210 key driver  ---> 

                        <*>   fs210_key

10,重新编译linux内核源码

     如何将自己写的驱动编译进linux内核镜像中

 生成新的内核镜像:

         如何将自己写的驱动编译进linux内核镜像中

11,将新生成的内核镜像拷贝到/tftpboot中

         如何将自己写的驱动编译进linux内核镜像中

12,重启开发板,测试:

      如何将自己写的驱动编译进linux内核镜像中

    运行应用程序,都能够正常获取数据,说明内核启动后led驱动和button驱动已经在系统中加载。

以上就是在linux内核中增加自己的驱动源码的详细过程,希望对朋友们能有所帮助,欢迎访问,谢谢!