LED将为我闪烁:控制发光二极管 读书笔记

第七章讲述的是控制发光二极管,本章会完成一个真正意义上的Linux驱动,本章讲述的Linux驱动用来控制开发板上的4个LED小灯。

尽管Linux驱动直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。

LED驱动与word_count驱动的实现步骤类似。编写LED驱动讲述了体验LED驱动的奇妙、创建LED驱动的设备文件,包括使用cdev_init函数初始化cdev,指定设备号,使用cdev-add函数将字符设备添加到内核中的字符设备数组中,使用class-create宏创建struct class,使用device_create函数创建设备文件。卸载LED驱动的设备文件,设置寄存器与初始化LED驱动,控制LED,LED驱动的模块参数。

测试LED驱动方式包括可执行程序测试、NDK测试和Java测试。LED驱动有两种与设备文件交互的方式:直接写入字符串数据和I/O控制命令。直接向设备文件写入数据可以使用命令行方式来完成,也可以通过write函数来完成。NDK程序测试和可执行程序测试差不多,只不过NDK library可以被Java程序调用。

LED驱动一直最简单的方法就是将其在不同Linux内核版本下进行编译,LED驱动是通过设置GPMDAT寄存器来控制LED的亮灭的。

LED驱动是一个真正的和硬件打交道的Linux驱动,一个完整的Linux驱动主要由内部处理和硬件交互两部分组成。

转载于:https://www.cnblogs.com/xiaotaiyanga/p/5561436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值