第7章 LED将为我闪烁:控制发光二极管

Posted TO_ZG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第7章 LED将为我闪烁:控制发光二极管相关的知识,希望对你有一定的参考价值。

所谓I/O内存是通过各种接口连接到主机的硬件在主机内存的映射。LED驱动还提供了两种交互方式:命令和读写设备文件。

创建设备文件的步骤:

第1步:使用cdev_init函数初始化cdev

第2步:指定设备号

       Linux设备文件的设备号分为主设备号和次设备号,其中前12位表示主设备号 ,后20位表示次设备号。设备号有如下两种指定方法:

   (1)直接在代码中指定(硬编码)。

   (2)动态分配。

第3步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中

第4步:使用class_create宏创建struct class

第5步:使用device_create函数创建设备文件

LED驱动可以使用以下两种方式控制LED:

(1)通过字符串控制LED

(2)通过I/O命令控制LED

    一个完整的Linux驱动主要由内部处理与硬件交互两部分组成。其中内部处理主要是指Linux驱动的装载,卸载,与设备文件相关的动作处理(读写设备文件,向设备文件发送I/O命令等动作)以及业务逻辑等。与硬件交互主要是指通过iowrite32,ioread32等函数与硬件中德寄存器进行数据交互。Linux驱动在不同平台的移植也是处理这两部分。在不同Linux内核版本之间的移植,主要是移植第一部分,也就是Linux驱动的内部处理。

 

以上是关于第7章 LED将为我闪烁:控制发光二极管的主要内容,如果未能解决你的问题,请参考以下文章

第7章 LED将为我闪烁:控制发光二极管

第7 章LED 将为我闪烁:控制发光二级管

第七章LED将为我闪烁:控制发光二极管

第七章:LED将为我闪烁:控制发光二极管

安卓驱动开发----LED将为我闪烁:控制发光二极管

LED将为我闪烁:控制发光二极管