编写设备驱动程序

装入和卸载驱动程序

打开与设备驱动程序关联的特殊文件(访问该设备)即可装入该驱动程序。您可以使用 modload(1M) 命令将驱动程序装入内存,但 modload 不会调用模块中的任何例程。 首选方法是打开设备。

通常,当不再使用设备时,系统会自动卸载设备驱动程序。在开发过程中,要显式卸载驱动程序,可能需要使用 modunload(1M)。为了成功执行 modunload,设备驱动程序必须处于非活 动状态。对设备的任何未完成引用(如通过 open(2)mmap(2) 的引用)均不应存在。

modunload 命令将与运行时相关的 module_id 用作参数。要查找 module_id,请使用 grepmodinfo(1M) 的输出中搜索相关的驱动程序名称。然后检查第一列。


# modunload -i module-id

要卸载当前无法装入的所有模块,请将模块 ID 指定为零:


# modunload -i 0

要成功执行 modunload(1M),驱动程序除了需要处于非活动状态外,还必须包含正常的 detach(9E)_fini(9E) 例程。