zoukankan      html  css  js  c++  java
  • Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数

    Android深度探索(卷1)HAL与驱动开发

    第六章 第一个Linux驱动程序:统计单词个数

        统计单词个数的功能是封装在Linux驱动中的。

        Linux驱动的工作和访问方式是Linux亮点之一,同时受到了业界大防范好评。Linux系统将每一个驱动都映射成一个文件。这些文件称为设备文件或者驱动文件,都保存在 /dev 目录中。这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。当然,也比访问Linux API 更容易。由于大多数Linux驱动都有与其对应的设备文件,因此与Linux驱动交换数据就变成了与文件交换数据。

          编写Linux驱动程序的步骤

    1、建立Linux驱动骨架(装载和卸载Linux驱动)

    Linux内核在使用驱动时首先需要进行装载驱动。在装载过程中需要进行一些初始化操作。当系统退出时需要进行卸载Linux驱动,在卸载过程中需要释放由Linux驱动占用的资源。在Linux驱动程序中需要提供两个函数来分别处理驱动初始化和退出的工作。这两个函数分别用module和moddule_exit宏指定。

    2、注册和注销设备文件

    3、指定与驱动相关的信息

    4、指定回调函数

    5、编写业务逻辑

    6、编写Makefile文件

        Linux内核源代码的编译规则是通过Makefile文件定义的。因此编写一个新的Linux驱动程序必须有一个Makefile文件

    7、编译Linux驱动程序

    8、安装和卸载Linux驱动

        第一个Linux驱动:统计单词个数

    1、#mkdir建立目录文件夹

    2、编写Makefile文件

    Obj-m : = vord count.o

    Word_count-y : = process.o data.o

    编写Linux驱动程序的骨架(初始化和退出驱动)

    指定与驱动相关的信息

    指定回调函数

        实现统计单词数的算法

        编写word_count驱动程序:

    1、get_word_count 函数将mem数组中的第一个为“”的字符作为字符串的结尾符,因此在word_count_write 函数中将mem[count]的值设成“”,否则get_word_count 函数无法知道要统计单词书的字符串到哪里结束。

    2、单词数使用int类型变量存储,在word_count_write函数中统计出单词数(word_count变量的值),在word_count_read 函数中将word_count 整型变量值分解成4个字符存储在buf中,因此,在应用程序中需要将这四个字节组合成Int类型的值

    编译、安装、卸载Linux驱动程序

          使用多种方式测试Linux驱动

    使用Exlipse开发和测试Linux驱动程序

    统计单词数的word_count驱动是本书实现的第一个完整的Linux驱动。

     

  • 相关阅读:
    【线段树 树链剖分 差分 经典技巧】loj#3046. 「ZJOI2019」语言【未完】
    【图论 思维】cf715B. Complete The Graph加强
    【A* 网络流】codechef Chef and Cut
    【主席树上二分】bzoj5361: [Lydsy1805月赛]对称数
    蓝书例题之UVa 10253 Series-Parallel Networks
    HAOI2019+十二省联考 游记
    Beyas定理
    CF739E Gosha is hunting DP+wqs二分
    wqs二分
    线性规划之单纯形算法
  • 原文地址:https://www.cnblogs.com/xl9313/p/5560502.html
Copyright © 2011-2022 走看看