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驱动之_驱动的加载和卸载_第1张图片
001_linux驱动之_驱动的加载和卸载_第2张图片

你可能感兴趣的:(013_linux驱动)