第七章LED将为我闪烁:控制发光二级管 读书笔记

Posted

tags:

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

一、LED驱动的实现原理

Linux驱动与硬件交互的原理:Linux驱动与I/O内存通过ioread30和iowrite32函数交互;I/O内存与硬件,内存管理模块负责同步I/O内存与硬件中德数据。

二、编写LED驱动

其中1表示开、0表示关。当字符串长度不足4个,相当于后面补0

1.创建LED驱动的设备文件

(1)使用cdev_init函数初始化cdev

(2)指定设备号                                   

Linux设备文件的设备号分为主设备号和次设备号,前12位主设备号,后20位表示次设备号。

设备号指定方法:直接在代码中指定(硬编码),动态分配

多个Linux设备文件可以拥有同一个主设备号。但两个设备的主设备号和次设备号不都能一样。

(3)使用cdev_add函数将字符设备添加到内核中德字符设备数组中

(4)使用class_create宏创建struct class

(5)使用device_create函数创建设备文件

2.卸载Led驱动的设备文件

依次调用三个方法:

Void device_destroy(struct class *class,dev_t devt)

Void class_destroy(struct class *cls)

Void unregister_chrdev_region(dev_t from,unsigned count)

3.设置寄存器与初始化LED驱动

4.控制LED

(1)通过字符串控制LED

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

5.LED驱动的模块参数

如果Linux驱动中有多个模块参数,需要将这些参数用单引号或双引号括起来

三、测试led驱动

1.编写测试I/O控制命令的通用程序

2.使用NDK测试LED驱动

3.使用Java测试led驱动

四、LED驱动的移植

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

第七章 LED 将为我闪烁: 控帘 j发光二级管

Android深度探索(卷1)HAL与驱动开发 第七章 LED将为我闪烁:控制发光二极管 读书笔记

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

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

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

LED 将为我闪烁: 控帘 j发光二级管