zoukankan      html  css  js  c++  java
  • Android深度探索--HAL与驱动开发第八章读后感

    本章介绍蜂鸣器的实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣器),蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣器的打开和停止。蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出的声音。

    在完成过程中,首先完成的是linux驱动的代码重用,首先是编译由多个文件组成的linux驱动,并生成ko文件,最后makefile文件。然后进行驱动模块的依赖,即在一个驱动模块里使用另一个驱动模块里的背到处的符号。

    通过有I/O命令可以打开和停止排位PWM,PWM驱动由三个文件组成,pwm.c驱动主程序,pwm_fun.h相应头文件,pwm_fun.c包含了打开和停止PWM的两个函数。首先进入/root/drivers/ioctl执行build.h脚本文件编译和上传ioctl,在测试前先要编译和安装PWM驱动,然后进入开发板终端的/data/local打开和停止PWM。

    PWM时驱动的实现方式不同于LED 驱动,PWM 驱动将由多个文件组成。这也是大多数Linux 驱动的标准实现方式。在编译 Linux 驱动时将这些文件进行联合编译。本节将介绍把 Linux 驱动分成多个文件的方式。这些文件中的数据结构、函数的代码也可以被多个不同的驱动使用,所以这也是代码重用的重要方法。 PWM 驱动与 LED 驱动的实现流程类似,可能还要简单一些。在本章只是为了演示如何将一个 Linux 驱动分成多个实现文件,才使用了比较简单的 PWM 驱动。

    PWM驱动与LED类似,可能还要简单一些,这章使用PWM驱动主要是为了更为简单一下的将一个Linux驱动分为多个实现文件,通过本章学习,也进一步掌握了代码重用方法和强行卸载Linux驱动的方法,可以不用在不断的重启机器了。

  • 相关阅读:
    2018杭州初雪
    李宗盛
    张爱玲(句子迷)
    RFBnet论文笔记
    AXI总线简介、ID分析、DMA、Vivado烧录、系统集成
    axi总线之零:概述
    怎么理解 Redis 事务?
    Redis 集群最大节点个数是多少?
    怎么测试 Redis 的连通性?
    Redis 集群如何选择数据库?
  • 原文地址:https://www.cnblogs.com/cui8171/p/5641036.html
Copyright © 2011-2022 走看看