本章以及后面的两章,第 22 章和第 23 章,提供了有关开发设备驱动程序的详细信息。
可采用以下步骤来生成设备驱动程序:
编写、编译和链接新代码。
有关文件的命名约定,请参见驱动程序代码布局。使用 C 编译器编译驱动程序。使用 ld(1) 链接驱动程序。请参见编译和链接驱动程序和模块相关性。
创建必需的硬件配置文件。
创建一个特定于名为 xx.conf 的设备的硬件配置文件,其中 xx 为设备的前缀。该文件用于更新 driver.conf(4) 文件。请参见编写硬件配置文件。对于伪设备驱动程序,需要创建一个 pseudo(4) 文件。
将驱动程序复制到相应的模块目录。
请参见将驱动程序复制到模块目录。
使用 add_drv(1M) 安装设备驱动程序。
使用 add_drv 安装驱动程序通常是作为后安装脚本的一部分来执行的。请参见使用 add_drv 安装驱动程序。update_drv(1M) 命令用于对驱动程序进行更改。请参见更新驱动程序信息。
装入驱动程序。
通过访问设备可自动装入驱动程序。请参见装入和卸载驱动程序和软件包后安装。另外,也可以使用 modload(1M) 命令装入驱动程序。modload 命令不会调用模块中的任何例程,因此适用于进行测试。请参见装入和卸载测试模块。
测试驱动程序。
驱动程序应在以下方面进行严格的测试:
有关其他特定于驱动程序的测试,请参见测试特定类型驱动程序。
删除驱动程序(如有必要)。
使用 rem_drv(1M) 命令可删除设备驱动程序。请参见删除驱动程序和软件包预删除。