这就涵盖了IDE设备驱动器的结构特殊API。下一步是创建文档系统特殊文件,从而帮助用户级应用进入该设备。使用以下命令生成IDE硬盘驱动特殊文件:mknod /dev/hda1 b 3 1
正如在触摸屏特殊文件创建中谈及,可在系统初始化阶段安排自动执行该步骤,或者用户可以在系统启动运行显示操作提示时手工操作该命令。
用户级应用较少直接调用区块设备。一般而言,区块设备直接通过内核级文档系统执行接入。用户级应用通常获取具有操作系统实用程序的区块设备,以执行文档系统创建、安装访问文档系统的设备等文档系统操作。命令行工具涵盖分割、格式化、安装和验证区块设备。例如,以下是用mnknod命令创建的设备的一个安装设备命令:
|
-t ext3 指出设备由一个Extended 3文档系统配置;-o rw 则说明设备应该具备读写函数;/dev/hda1是被安装设备的文档系统特殊文件;/mnt/drive 则是用户获取设备所存文档系统内容的安装位置。
添加Linux内核的新设备驱动程序支持
Linux内核用以下三个命令建立:
|
首先,Linux内核针对目标运行环境进行配置。用户还可选择添加支持各种设备、支持各种文档系统和配置引导参数等。当一个新的设备驱动程序在Linux内核中得到执行时,必须增加对该新设备的配置支持,所以要先更新驱动程序目录中合适设备类型子目录下的Makefile。在Makefile中,必须增加新选项建立设备驱动程序二进制文件,并且直接与Linux内核相连或创建一个模块。第二步需要更新驱动程序目录设备类型子目录下的Config. in。此新设备的配置选项必须加入Config.in。
小结
本文无意阐述Linux设备驱动程序的各个环节,因为包括Linux源代码在内的各种资源都已对此做出了解释。相反,本文旨在探索针对嵌入式非标准设备、用以执行设备驱动程序的硬件API。对于几个不同类型的设备驱动程序,本文以EP9312片上系统平台为例,详解了这些为硬件接口定制的API。了解如何设计并执行这些API是为新设备编写驱动程序的第一步。