完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
因为我们最终的项目是使用I2C接口对温度传感器进行操作,那么我们需要在应用层与驱动之间搭起一个平台
可以自己构建一个一步一步创建,也可以使用linux 驱动已经封装好的结构体进行,比如hwmon,miscdevice+file_operations 我们今天就使用miscdevice 来进行驱动层的开发。 Linux里面的misc杂项设备是主设备号为10的驱动设备,它的注册跟使用比较的简单,所以比较适用于功能简单的设备。正因为简单,所以它通常嵌套在platform 总线驱动中,配合总线驱动达到更复杂,多功能的效果。, 假如现在我们创建的次设备号是20,那么标志位偏移量就是1<<20,那么就会有上面的misc_minors[0] =misc_minors[0] | 1<<20;同样假如现在我们创建的次设备号是40,那么就会有mask = 1<<(40%32),即mask = 1<<8,就有misc_minors[1] = misc_minors[1] | 1<<8。下面这幅图是根据我所使用的内核版本,我使用的内核里面只定义了64个标志位,这里也就画了8个字节。但是不管有多少个字节吧,原理还是一样的。 可以看看/dev目录下的设备节点主设备是10,次设备号是42.这样的话,标志位就放在第二排了。 下面就是我们实际的一个驱动模块
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10324 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3353 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3228 浏览 0 评论
308浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 11:17 , Processed in 0.579939 second(s), Total 64, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号