一、驱动编译到内核的主要方式
linux下驱动编译到内核有2种方式:
1)静态编译
2)动态编译
静态编译就是将下载好的驱动源码,整合到kernel内核的源码之中,再通过图形界面来配置相应的选项,配置好选项后保存退出,然后编译,最后编译出来的是一个整合后用于烧录的文件,这里将会把文件命名为uImage。
动态编译就是将下载好的源码编译成.ko文件,最后通过insmod命令去板端加载这个ko文件。
选择静态编译还是选择动态编译看你的需求而定。
一、静态编译
这里只详细讲解如何将相关的模块选项添加到图形界面,在到图形界面(make menuconfig)之前的步骤已省略,在这之前的教程一搜一大堆,这里就不重复了。
1. 关于下载的驱动
1)驱动源码在kernel源码中的存放位置
驱动源码应该放在内核源码中的什么目录下,一般与该驱动的类型相关,比如你下载的是wifi模块的驱动,那一般我们会把wifi模块的驱动源码放到.../linux-3.10.y/drivers/net/wireless
这个路径下;又比如你下载的是字符类型的驱动,那一般会放到.../linux-3.10.y/drivers/char
这个路径下;如果你实在不知道应该放在哪里,那就放在.../linux-3.10.y/drivers
,只要最后能在图形界面找到就可以了。
2)驱动源码相关文件的修改
驱