普通字符设备LED驱动程序(IO映射内存实现)

2014-11-24 12:18:51 · 作者: · 浏览: 3

这段代码把GPB寄存器的物理地址映射到内存上,再进行操作。


注册一个独立的cdev设备的基本过程如下:


1、为struct cdev 分配空间
struct cdev *my_cdev = cdev_alloc();


2、初始化struct cdev ,主要是对 file_operations成员赋值,


void cdev_init(struct cdev *cdev, const struct file_operations *fops)


3、初始化cdev.owner 指针,实现模块管理时的指针引用


cdev.owner = THIS_MODULE;


4、cdev设置完成后,向内核字符设备数组添加新的struct cdev的信息(在执行这步之前必须确定你对struct cdev的以上设置已经完成)


int cdev_add(struct cdev *dev, dev_t devno, unsigned count)


dev 是 cdev 结构, devno是这个设备响应的第一个设备号, count 是应当关联到设备的设备号的数目.


5、从系统中移除一个字符设备:
void cdev_del(struct cdev *dev)