Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目中。这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。
由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与
设备文件交换数据。例如,向Linux打印机驱动发送一个打印命令,可以直接使用C语言函数open打开设备文件, 使肝 函数 oc tl 向该驱 的设备文件发送打印命令.
编写linux驱动的步骤
第一步:建 Linu 驱动骨架 装载和卸载 Linux驱动)
任何类型的 序都有 个基本的结构,例如, 谣言需要有一个入口函数 ma •. inux 驱动程
序也不例外。 Linux 内核在使用驱动时首先需要装载驱动 在装载过程中需要进行 初始
例如,建立设 文件 分配内存地址 等。当 nux 系统退出时需要卸载 inux 驱动,在
卸载的过程中需要 放由 linux 驱动占用的资源
第二步:注册和注销设备文件
以分别使用 misc gi mis dere ter 函数创建和移除设备文件。
第三步:制定与驱动相关的东西‘
MOD ULE_A UTHORMODULE CE SE MOD ULE LI MODUL DES RIPT IO 等宏可以指定与驱动相关的信息。
第四步:指定回调函数
个驱动程序并不 定要指定所有的困调函数.回调函数会通过相关机制进行注册
第五步:编写业务逻辑
linux驱动的核心部分。光有骨架和回调函数的 Linux 驱动是没有任何意义的。任何一个完整的 Li nux驱动都会做一些与其功能相关的工作.
第六步:编写Makefile文件
第七步:编译Linux驱动程序
第八步:安装和卸载linux驱动
编写一个统计单词个数驱动
- 命令建立存放 inux 驱动程序的目录
- 建立驱动源代码文件
- 编写一个 Makefile 文件
- 编写 Linux 驱动程序的骨架部分,Linux驱动的初始化和退出函数
- 安装 Linux 驱动insmod word count.k
- 查看 word_count 是否成功安装
- 卸载 Li nux 驱动
- 查看由 Linux 驱动动输出的日志信息
--比你优秀的人尚在努力,这一点着实可怕。