编写设备驱动程序

Procedure如何生成和装入分层驱动程序

  1. 编译驱动程序。

    使用 -D_KERNEL 选项指示这是一个内核模块。

    • 如果要针对 SPARC 体系结构进行编译,请使用 -xarch=v9 选项:


      % cc -c -D_KERNEL -xarch=v9 lyr.c
      
    • 如果要针对 32 位 x86 体系结构进行编译,请使用以下命令:


      % cc -c -D_KERNEL lyr.c
      
  2. 链接驱动程序。


    % ld -r -o lyr lyr.o
    
  3. 安装配置文件。

    root 用户身份,将配置文件复制到计算机的内核驱动程序区域:


    # cp lyr.conf /usr/kernel/drv
    
  4. 安装驱动程序二进制文件。

    • root 用户身份,将驱动程序二进制文件复制到 SPARC 体系结构的 sparcv9 驱动程序区域:


      # cp lyr /usr/kernel/drv/sparcv9
      
    • root用户身份,将驱动程序二进制文件复制到 32 位 x86 体系结构的 drv 驱动程序区域:


      # cp lyr /usr/kernel/drv
      
  5. 装入驱动程序。

    root 用户身份,使用 add_drv(1M) 命令装入驱动程序。


    # add_drv lyr
    

    列出伪设备,确认目前是否存在 lyr 设备:


    # ls /devices/pseudo | grep lyr
    lyr@1
    lyr@1:node