字符设备入门理解

    基本字符设备驱动模型
1.字符设备驱动程序设计步骤
(1)定义一个字符设备结构体struct cdev------用来描述某个字符设备
(2)初始化字符设备结构体,struct file_operations文件操作集合---cdev_init
(3)申请设备号(ID)
(4)注册字符设备cdev_add
(5)创建设备文件(设备节点)
    (a)手动创建----mknod
    (b)自动创建----创建class(创建目录),在class下创建device   

        自动创建class_create  device_create   会在/dev下建立一个设备文件  且在  /sys/class/  下创建一个文件夹与文件
(6)申请IO内存----为了资源的互斥访问
(7)映射为虚拟地址   (因为在模块中伸请的是实际地址,要给上层用,所以得虚拟地址
(8)通过虚拟地址操作硬件  

猜你喜欢

转载自blog.csdn.net/h490516509/article/details/88843101