编写设备驱动程序

驱动程序开发摘要

本章以及后面的两章,第 22 章第 23 章,提供了有关开发设备驱动程序的详细信息。

    可采用以下步骤来生成设备驱动程序:

  1. 编写、编译和链接新代码。

    有关文件的命名约定,请参见驱动程序代码布局。使用 C 编译器编译驱动程序。使用 ld(1) 链接驱动程序。请参见编译和链接驱动程序模块相关性

  2. 创建必需的硬件配置文件。

    创建一个特定于名为 xx.conf 的设备的硬件配置文件,其中 xx 为设备的前缀。该文件用于更新 driver.conf(4) 文件。请参见编写硬件配置文件。对于伪设备驱动程序,需要创建一个 pseudo(4) 文件。

  3. 将驱动程序复制到相应的模块目录。

    请参见将驱动程序复制到模块目录

  4. 使用 add_drv(1M) 安装设备驱动程序。

    使用 add_drv 安装驱动程序通常是作为后安装脚本的一部分来执行的。请参见使用 add_drv 安装驱动程序update_drv(1M) 命令用于对驱动程序进行更改。请参见更新驱动程序信息

  5. 装入驱动程序。

    通过访问设备可自动装入驱动程序。请参见装入和卸载驱动程序软件包后安装。另外,也可以使用 modload(1M) 命令装入驱动程序。modload 命令不会调用模块中的任何例程,因此适用于进行测试。请参见装入和卸载测试模块

  6. 测试驱动程序。

    驱动程序应在以下方面进行严格的测试:

    有关其他特定于驱动程序的测试,请参见测试特定类型驱动程序

  7. 删除驱动程序(如有必要)。

    使用 rem_drv(1M) 命令可删除设备驱动程序。请参见删除驱动程序软件包预删除