由于需要对ADC进行驱动设计,因此学习了一下Linux驱动的IIO子系统。本文翻译自《Linux Device Drivers Development 》--John Madieu,本人水平有限,若有错误请大家指出。 IIO Framework 工业I / O(IIO)是专用于模数转换器(ADC)和 ...
分类:
系统相关 时间:
2019-04-21 20:27:37
阅读次数:
396
编写linux设备驱动的注意事项之一当然写驱动,你得清楚上层调用是否导致存在函数重入、什么执行context下(1.中断、2.软中断、3.tasklet(软中断的一种)、4.timer(基于软中断实现)、5.hrtimer(软中断或硬中断环境下执行)、6.workqueue(也是kernelthread)、7.kernelthread、8.普通thread的内核态下)会访问此函数和此资源,需要什么
分类:
系统相关 时间:
2019-03-24 00:28:34
阅读次数:
251
关于如何编写linux设备驱动1)首先确定硬件接口使用的总线,2)然后确定要实现的功能,是网卡、sensor还是什么?再确定对上层应用暴露的接口,从而选择子系统,例如iio、input子系统等。由于linux只有字符设备、块设备、网络设备三种设备,其实iio、input子系统都是字符设备,只是它们帮你封装好了字符设备的file_operations和Major设备号了,另外提供统一的sysfs接口
分类:
系统相关 时间:
2019-03-24 00:27:56
阅读次数:
237
本文主要介绍了Linux内核分配内存的两个函数 kzalloc和kmalloc函数的使用 ...
分类:
系统相关 时间:
2018-12-31 21:52:25
阅读次数:
267
引言: 由LCD的硬件原理及操作(可参看韦哥博客:第017课 LCD原理详解及裸机程序分析) 我们知道只要LCD控制器的相关寄存器正确配置好,就可以在LCD面板上显示framebuffer中的内容。 若应用程序需要在LCD屏幕上显示文字或图像时,只需要把相应的显示内容以正确的格式写到Framebuf ...
分类:
其他好文 时间:
2018-12-22 11:58:18
阅读次数:
229
i2c驱动程序的核心是创建i2c_driver结构体 再at24cxx_attach_adapter里面 当probe到设备后, at24cxx_detect会被调用 这里有两个需要完成的 (1) 配置addr_data (2)at24cxx_detect 对于addr_data 而在 at24cx ...
分类:
系统相关 时间:
2018-11-03 20:12:37
阅读次数:
237
下载地址:网盘下载 备用地址:网盘下载 内容简介编辑《LINUX设备驱动程序(第3版)》已针对Linux内核的2610版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。要阅读并理解本书,您不必首 ...
分类:
系统相关 时间:
2018-10-14 00:17:25
阅读次数:
189
Linux异步通知fasync linux设备驱动归纳总结(三):7. 异步通知fasync xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 异步通知fasync是应用于系统调用signa ...
分类:
系统相关 时间:
2018-09-08 15:24:00
阅读次数:
177
在驱动模块初始化函数中实现设备节点的自动创建 我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了ud ...
分类:
其他好文 时间:
2018-08-15 13:30:48
阅读次数:
132
1、设备驱动 https://blog.csdn.net/fivedoumi/article/details/50913615 linux设备驱动分3种,包括字符设备驱动,块设备驱动和网络设备驱动。 字符设备驱动智能按字节流先后顺序访问设备内存,不能随机访问。鼠标,触摸屏,LCD等实时字符设备的代表 ...
分类:
其他好文 时间:
2018-07-01 14:56:58
阅读次数:
180