linux驱动程序安装

linux下的驱动程序安装有模块方式与直接编译进内核。

1.模块方式

linux内核包含的组件很多,把所有的组件都编译进内核文件(zImage或者bzImage)会导致内核过大。使用内核模块可以让内核文件(zImage或者bzImage)本身并不包含某组

件,而是在该组件需要被使用的时候,动态的添加到正在运行的内核。

1.1内核模块的程序结构:

模块加载函数(必需):安装模块时被系统自动调用的函数,通过module_init宏来指定。

模块卸载函数(必需):卸载模块时被系统自动调用的函数,通过module_exit宏来指定。

1.2模块的编译:

通常使用makefile,编译后生成.ko文件。

1.3安装与卸载

加载模块:insmod(insmod *.ko)

卸载模块:rmmod(rmmod *)

查看模块:lsmod

加载模块:modprobe(modprobe *)——可以根据/lib/modules/<$version>/modules.dep文件查看依赖项,并把它们加载到内核。

2.直接编译进内核

2.1修改Kconfig文件

例如加入helloworld模块:

在配置菜单中会出现helloworld选项:

如果选中helloworld,则在.config文件中会出现如下字符串:

2.2修改Makefile文件

obj-$()中的内容要与.config中的字符串对应!

那绿叶上的水珠,是思念的泪滴。

linux驱动程序安装

相关文章:

你感兴趣的文章:

标签云: