随笔分类 -  Linux驱动

关于 ioctl 函数
摘要:ioctl函数是用于控制的设备的接口 1.底层: long (*unlocked_ioctl) (struct file *filp, unsigned int cmd, unsigned long args); file_operations结构中的一个函数指针成员,具体的函数接口是自己实现的。 阅读全文

posted @ 2019-07-18 20:37 管理员D 阅读(805) 评论(0) 推荐(1)

字符设备基础了解
摘要:一.字符设备驱动 2. 字符设备注册分 3 个步骤 分配cdev 初始化cdev 添加cdev 3. 驱动中字符设备文件的相关 3 个结构 struct file 代表一个打开的文件,由内核打开时创建,关闭时释放 struct inode 记录文件的物理上信息inode号 struct file_o 阅读全文

posted @ 2019-07-18 20:10 管理员D 阅读(611) 评论(0) 推荐(0)

关于字符设备驱动
摘要:一. 使用一个结构 struct cdev 描述字符设备 这个结构中的 struct file_operations 成员是操作字符设备的方法集,这个结构中包含的都是函数指针,是在驱动程序中自己实现操作底层硬件的接口。 二. 关于设备号 是通过一个宏制作的 如下图所示: 设备号包含主设备号+此设备号 阅读全文

posted @ 2019-07-06 16:40 管理员D 阅读(353) 评论(0) 推荐(0)

驱动导出符号表
摘要:对于有依赖的模块加载卸载顺序 加载顺序:先加载依赖模块,在加载模块; 卸载顺序:先卸载模块,在卸载依赖模块 驱动中的符号表类似吗,应用程序中的头文件用于把源文件中的函数名声明方便外部模块使用 math.c驱动程序 demo.c驱动程序 使用同一架构下编译这两个模块,matn.c 编译生成 math. 阅读全文

posted @ 2019-07-06 10:22 管理员D 阅读(887) 评论(0) 推荐(0)

驱动模块传参
摘要:#define module_param(name, type, perm) \ module_param_named(name, name, type, perm) name:参数的名字 type:参数类型 perm:权限 对参数的操作权限 0 文件系统不可见--只能当前模块使用该参数 0444 阅读全文

posted @ 2019-07-06 10:07 管理员D 阅读(530) 评论(0) 推荐(0)

导航