标签:
第七章 控制发光二极管
作为IO内存是通过各种接口(PCI、USB、蓝牙、以太网等)连接到主机(PC、手机)的硬件(网卡、声卡、摄像头等)主机内存中的映射。Linux提供了多个与IO内存交互的函数,如ioreadl6/ioead32等。Linux内存的管理模块负责同步IO内存与硬件中的数据。每一个连接Linux的硬件在IO内存中会有映射首地址。在使用ioread32等函数读写IO内存时需要指定这些首地址。开发板上的LED也有其映射首地址。
创建LED驱动的设备文件
(1) 使用cdev_init函数初始化cdev
(2) 指定设备号
(3) 使用cdev_add函数将字符设备添加到内核中的字符设备数组中
(4) 使用class_create宏创建struct class
(5) 使用device_create函数创建设备文件
卸载LED驱动的设备文件
设置寄存器与初始化LED驱动:
在控制LED亮灭之前,必须了解如何设置寄存器。ARM处理器有多个寄存器,通过设置不同起存期的值,可以设置LED引脚的状态,打开或禁止上拉电路以及控制LED的亮和灭。
测试LED驱动
移植Linux驱动:
将Linux驱动移植到新的Linux内核一般只需要在新的内核下重新编译即可
http://www.cnblogs.com/BJBLOG/
标签:
原文地址:http://www.cnblogs.com/BJBLOG/p/5561311.html