第七章

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七章相关的知识,希望对你有一定的参考价值。

第七章是按上一章开发Linux驱动程序的步骤,本章我们将真正意义上的完成一个Linux驱动——LED驱动,来控制开发板上的4个LED灯。

首先要理解Linux驱动的内容,了解它的工作方式,Linux系统 将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种 设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。第二小节讲了编写Linux驱动程序的步骤,包括:建立 Linu x 驱动骨架 (装载和卸载 Linu x 驱动)
注册和注销设备文件、 指定与驱动相关的信息 、指定回调函数 、编写业务逻辑 、编写 Makefile文件 、 编译 Linux 驱动程序 、 安装和卸载 Linux 驱动 等一系列的步骤。下面一小节开始进行程序的编写,编写 Linux 驱动程序前的准备工作:首先使 用下面的命令建立存放 Linux 驱动程序的目录。然后,使用命令建立驱动源代码文件.最后编写一个 Makefile 文件.
编写 Linux 驱动程序的骨架(初始化和退出驱动)骨架部分主要是 Linux 驱动的初始化和退出函数,代码如下:
#include <linux/m。dule.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/miscdevice.h>
#include <asm/uaccess.h>
// 初始化 Linux 驱动 static int word_count_init(void)
在上面的代码中使用了 printk 函数。该函数用于输出日志信息。指定与驱动相关的信息, 指定团调函数。本节开始编写 word_count 驱动的业务:统计单词数。
下面进行编译、安装、 卸载 Linux 驱动程序的相关东西, word_count 驱动与 read_write 自录中的驱动一样, 也有一个 build.sh 和 3 个与平台相关的脚本文件。在前面儿节开发的 word count 驱动和测试程序大多都需要在Linux 终端进行编译(.android 应 用程序除外〉和运行,而且也无法跟踪奎It Linux 内-核函数v 变量、宏的内部(除非自己到 Linux 内 核源代码中就寻找这些掘代码文件〉,这并不利于深入了解 Linux 内核技术。

虽然LED驱动并不复杂,只是控制了4个LED,但LED驱动已经包括了Linux驱动的所有必要部分。

以上是关于第七章的主要内容,如果未能解决你的问题,请参考以下文章

第七章 课后习题P206

Python第七章

第七章

java:第七章

第七章 链接 (linking)

第七章:常用类