理解: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
************************************学习方法************************************
主要靠理解,模仿体会