• 第七章


    第七章是按上一章开发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驱动的所有必要部分。

  • 相关阅读:
    17、生鲜电商平台-异常模块的设计与架构
    16、生鲜电商平台-监控模块的设计与架构
    15、生鲜电商平台-售后模块的设计与架构
    14、生鲜电商平台-搜索模块的设计与架构
    13、生鲜电商平台-订单抽成模块的设计与架构
    12、生鲜电商平台-提现模块的设计与架构
    递归和回溯_leetcode77-经典的组合
    递归和回溯_leetcode52
    递归和回溯_leetcode51
    递归和回溯_leetcode46-经典的排列去重
  • 原文地址:https://www.cnblogs.com/jiaxing754/p/5560736.html
Copyright © 2020-2023  润新知