标签:
控制发光二极管
创建LED驱动的设备文件
1.使用cdev_init函数初始化cdev
cdev结构体
struct cdev{
struct kobject kobj;
struct module *owner;
const struct file_operations *ops;
struct list_head list;
dev_t dev;
unsigned int count;
}
2.指定设备号
直接在代码中指定:使用MKDEV宏将主次设备号组合成设备号,使用MAJOR和MINOR宏从设备号中获取主次设备号
动态分配:alloc_chrdev_region函数
3.使用cdev_add函数将字符设备添加到内核中的字符设备数组中
指定设备文件指针,设备号和设备文件数量。调用cdev_add函数
4.使用class_creat宏创建struct class
5.使用device_creat函数创建设备文件
卸载LED驱动的设备文件
依次调用device_destroy,class_destroy和unregister_chrdev_region方法
设置寄存器与初始化LED驱动
控制LED
1、通过字符串控制LED 2、通过I/O命令控制LED
标签:
原文地址:http://www.cnblogs.com/myd907011701/p/5563445.html