字符设备驱动

来源:互联网 发布:单片机的http编程 编辑:程序博客网 时间:2024/06/12 13:14

理解:http://www.kankanews.com/ICkengine/archives/99849.shtml

 RP4412 4.4 V2光盘 链接:http://pan.baidu.com/s/1i35njFn 密码:hlyh


来自led设备驱动3.mp4

******************初始化字符设备标准流程***********************************************************
cdev_init--->初始化一个cdev:初始化kobject,默认ktype初始化,初始化能有的操作


register_chrdev_region--->对设备的设备号范围进行限定(指定了设备好),最后生成设备号
或alloc_chrdev_region


cdev_add ---把设备添加到内核链表,这样内核可以查找到他。


class_create--->虚拟文件系统,有个类别的概念。在/sys/class/下创建类目录下面创建相应的class节点文件,便于系统管理设备。
                即:初始化内核的calss结构


device_create--->在dev/下创建相应的设备文件QT210_leds




***********************退出经典流程*************************
device_destrory销毁节点
class_destory销毁类
unregister_chrde_region--取消设备号,使得设备号能重新为内核利用
gpio_free---释放gpio




********************API****************************************




************************其他***************************************************
MKDEV---产生主设备号和次设备号
MAJOR,MINOR---将主次设备号提取出来
device_create--引出和class_create顺序,device_register,device_add,kobject_add,device_create_file,


gpio_request---申请gpio
gpio_direction_output---设置gpio为输出模式
gpio_set_value
************************************学习方法************************************
主要靠理解,模仿体会
0 0
原创粉丝点击