flyorange 发表于 2017-8-4 10:48:24

驱动模块的加载与卸载

可以将驱动程序静态编译进内核,也可以将它作为模块在使用时加载。使用方法:
1) 手工加载和挂载。模块的扩展名为 *.ko,使用 insmod 命令或者 modprobe 命令加
载到内核,使用 rmmod 命令卸载,使用 lsmod 命令查看内核中已经加载了哪些模块。
2) 配置某个目录下的 Kconfig 和 Makefile,然后 make menuconfig 来配置。配置内核
时,如果某个配置项设为,就表示它将会被编译成一个模块。配置内核时,如果某个配
置项设为[*],就表示它将会被编译进内核。
一般来说,开发过程中经常使用的是方法 1,对于方法 2 是出厂的时候用的。

flyorange 发表于 2017-8-4 11:11:57

Linux 驱动必须束缚在内核规定的某个架构下。
模块的入口函数也称模块加载函数,当执行 insmod 或 modprobe 命令加驱动模块到内
核时,驱动模块的入口函数就会自动被内核执行。至于模块入口数需要完成什么工作,这就
由编程决定了。
------
模块出口函数也称为模块卸载函数,当执行 rmmod 命令卸载驱动模块,驱动模块的出
口函数就会自动被内核执行。至于模块出口函数需要完成什么作,这个也是由编程决定的。
页: [1]
查看完整版本: 驱动模块的加载与卸载