第七章读书笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第七章读书笔记相关的知识,希望对你有一定的参考价值。
led驱动的实现原理:
Linux内核提供了多个与I/O内存交互的函数,Linux的内核管理模块负责同I/O内存与硬件中的数据。
每一个连接Linux的硬件在与内存中都会有映射地址,开发板上的led也有其映射首地址。
创建一个设备文件的步骤:
第一步使用cdev_init函数初始化cdev
第二步指定设备号
第三步使用cdev_add函数,将字符设备添加到内核中的字符设备数组中
第四步使用class_create宏创建struct class
第五步使用device_create函数创建设备文件。
led驱动可以用如下两种方式控制led
(1)通过字符串控制led
(2)通过led控制led
编写代码时需要注意以下几点:
(1)4个led的状态(亮、灭)用一个长度为4的char数组存储,
(2)如果写入的字符串长度小于等4,直接写入这些字符串,如果字符串长度大于四则写入前4个字符。
(3)由于事先的mem数组已被清零,因此,如果写入的字符串长度小于4,则相当于后面的字符都是0。
(4)先GPMDAT寄存器写入数据之前最好先读取GPMDAT寄存器的当前值,并通过位与、位或等操作保留本次操作无关的值
以上是关于第七章读书笔记的主要内容,如果未能解决你的问题,请参考以下文章