001_linux驱动之_驱动的加载和卸载

Posted 陆小果哥哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001_linux驱动之_驱动的加载和卸载相关的知识,希望对你有一定的参考价值。

(一)驱动的安装:

1. 可以将驱动程序静态编译进内内核中
2. 也可以将它作为模块在使用的时候再加载
注:在配置内核时候,如果某个配置被设置为m,就表示它将会被编译成模块
 
(二)加载和卸载驱动使用命令(模块的拓展名为.ko)
1. insmod 命令加载  (使用示例:insmod  first_drv.ko)
2. rmmod 命令卸载 (使用示例:rmmod  first_drv.ko)
3. lsmod 查看内核中已经加载了哪些模块 (使用示例:lsmod)
 
(三)
1. 当使用insmod加载模块时候,模块的初始化函数会被调用,它用来向内核注册驱动程序
2. 当使用rmmod卸载模块时候,模块的清除函数会被调用。
 
模块初始化:module_init(first_drv_init); 
模块清除   :module_init(first_drv_exit); 
 
例如: first_drv_init和first_drv_exit函数以编译在first_drv.ko驱动中
在程序中有:module_init(first_drv_init); 
即当使用命令:insmod  first_drv.ko   时候first_drv_init函数会被调用
 
技术分享图片

以上是关于001_linux驱动之_驱动的加载和卸载的主要内容,如果未能解决你的问题,请参考以下文章

Linux驱动之I2C设备驱动

linux驱动开发 - 01_字符设备驱动开发

驱动学习 - 加载.卸载驱动

ADC_驱动

vc++ 加载,卸载自己的驱动程序

Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)