7.生成杂项设备节点

7.1 介绍
杂项设备是主设备号是10的封装好了的设备。
杂项设备部分初始化文件(强制编译的简单的):drivers/char/ misc.c
7.2 杂项设备注册文件
1.杂项设备注册头文件---------- include/linux/miscdevice.h
结构体miscdevice:
在这里插入图片描述

– .minor设备号:一般设为MISC_DYNAMIC_MINOR系统自动取
– .name生成设备节点的名称:取其他名字都行
– .fops指向一个设备节点文件,就是file_operations定义的结构体地址
2.杂项设备内核文件的结构体
设备节点就是新建一个特殊的文件,包含文件名,打开、关闭、其他操作的函数指针。
包含文件结构体的头文件是“include/linux/fs.h ”文件的结构体file_operations:
在这里插入图片描述
在这里插入图片描述

必选的是参数是
– .owner一般是THIS_MODULE,
– .open打开文件函数
– .release关闭文件函数
这里在必选之外使用参数(为了介绍接下来的GPIO的操作)
– .unlocked_ioctl对GPIO的操作,应用向底层驱动传值
7.3 实验:驱动程序
在probe_linux_module基础上写devicenode_linux_module驱动
加载驱动后在/dev中查看是否生成了设备节点---------让应用程序调用
(从下往上看代码,看调用的一个函数一个函数看)
注:

  1. 生成设备节点,和设备注册没有关系,而且设备节点名称不需要和设备名称相同。一般情况下,是将设备节点注册放到probe中,但是放到init函数中的驱动也是有的
  2. Linux设备驱动一般分为:字符设备、块设备和网络设备。– 杂项设备多数是属于字符设备,后续我们将介绍字符设备,杂项设备可以理解为挂载在字符设备上的设备
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值