(一)驱动的安装:
- 可以将驱动程序静态编译进内内核中
- 也可以将它作为模块在使用的时候再加载
注:在配置内核时候,如果某个配置被设置为m,就表示它将会被编译成模块
(二)加载和卸载驱动使用命令(模块的拓展名为.ko)
- insmod 命令加载 (使用示例:insmod first_drv.ko)
- rmmod 命令卸载 (使用示例:rmmod first_drv.ko)
- lsmod 查看内核中已经加载了哪些模块 (使用示例:lsmod)
(三)
- 当使用insmod加载模块时候,模块的初始化函数会被调用,它用来向内核注册驱动程序
- 当使用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函数会被调用