首页 > 其他 > 详细

第七章主要讲的是控制发光二极管的驱动程序,用来控制开发板上的4个led灯

时间:2016-06-05 16:50:53      阅读:158      评论:0      收藏:0      [点我收藏+]

首先讲了led驱动的实现原理,linux驱动并不是直接向硬件的内存中写数据,而是与本机的i/o内存进行交互,每一个连接linux的硬件在i/o内存中都会有映射首地址。

编写驱动程序,先创建led驱动的设备文件:

1.使用cdev_init函数初始化cdev

描述设备文件需要一个cdev的结构体,cdev的大多是成员变量并不需要我们去初始化,只要调用cdev_init函数就可以初始化大部分cdev的成员变量

2.指定设备号

Linux 的设备的文件号分为 主设备号和此设备号,设备号有两种指定方法:直接在代码中指定;动态分配。

3.使用cdev_add函数将字符设备添加到内核中的字符设备数组中,调用cdev_add函数需要指定设备文件指针、设备号和设备文件数量。

4.使用class_create宏创建struct class

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

卸载led驱动的设文件需要依次调用device_destroy、class_destroy、unregister_chrdev_region方法。

在控制led灯亮、灭之前必须要了解如何设置寄存器。

Led驱动可以使用两种方式控制led灯:

1.通过字符串控制led;

2.通过i/o命令控制led。

测试led驱动:

1.使用NDK测试LED驱动

2.使用java测试LED驱动

控制LED灯的驱动是本书第一个和硬件结合的驱动,虽然程序不复杂,但是包括了linux驱动所有必要的部分。

第七章主要讲的是控制发光二极管的驱动程序,用来控制开发板上的4个led灯

原文:http://www.cnblogs.com/jinzekun/p/5560894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!