大家在做驱动开发时,通常都是将驱动源码编译为.ok文件,然后通过insmod 加载进系统中,那么如何能够实现在编译linux内核源码时,同时将驱动源码一同编译进镜像中呢?下面给出具体的方法和步骤
1,在Linux内核源码的drivers目录下创建自己的驱动源码目录,这里我同时加入两个驱动,分别是:led, button, 所以创建两个目录分别存放这两个驱动源码
2,将led和button驱动源码分别存放在 myled 和 mykey两个目录中
3,在myled目录中创建Kconfig文件,内容如下:
4,在myled目录中创建Makefile文件,内容如下:
5,在mykey目录中创建Kconfig文件,内容如下:
6,在mykey目录中创建Makefile文件,内容如下:
7,修改drivers目录中的Kconfig文件,在Kconfig文件的后面增加下面两行
8,修改drivers目录中的Makefile文件,在Kconfig文件的后面增加下面两行
9,执行 make menuconfig,将要编译的驱动选中,如下:
Device Drivers --->
[*] S5PV210 led driver --->
<*> fs210_led
[*] S5PV210 key driver --->
<*> fs210_key
10,重新编译linux内核源码
生成新的内核镜像:
11,将新生成的内核镜像拷贝到/tftpboot中
12,重启开发板,测试:
运行应用程序,都能够正常获取数据,说明内核启动后led驱动和button驱动已经在系统中加载。
以上就是在linux内核中增加自己的驱动源码的详细过程,希望对朋友们能有所帮助,欢迎访问,谢谢!