引子 本文是嵌入式企鹅圈开篇--《linux字符设备驱动剖析》的姐妹篇,在上述文章里面我们具体描写叙述了字符设备驱动框架涉及的驱动注冊、通过设备文件来訪问驱动等知识。并明白通过device_create接口并结合mdev来创建设备文件。但没有展开这个知识点。本文将从代码级去理解Linux设备类和设备 ...
分类:
系统相关 时间:
2017-05-27 22:30:35
阅读次数:
335
1、什么是Poll方法,功能是什么? 2、Select系统调用(功能) Select系统调用用于多路监控,当没有一个文件满足要求时,select将阻塞调用进程。 int select(int maxfd, fd_set *readfds, fd_set *writefds, fe_set *exce ...
分类:
系统相关 时间:
2017-05-23 10:18:19
阅读次数:
192
编译memdev,对应的设备驱动 make insmod memdev.ko 在dmesg中会有输出结果init,在/proc/devices中生成对应的设备驱动号249 创建设备节点 cat /proc/devices中生成的memdev节点编号249 mknod /dev/memdev0 c 2 ...
分类:
其他好文 时间:
2017-05-19 15:14:00
阅读次数:
209
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动。本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存。 下面就开始学习如何写一个简单的字符设备驱动。首先我们来分解一下字符设备驱动都有那些结构或者方法组 ...
分类:
系统相关 时间:
2017-05-10 19:53:08
阅读次数:
302
在之前我们介绍了怎样实现一个简单的字符设备驱动。并介绍了简单的open,close,read,write等驱动提供的基本功能。可是一个真正的设备驱动往往提供了比简单读写更高级的功能。这一篇我们就来介绍一些驱动动中使用的一些高级的操作的实现。 大部分驱动除了提供对设备的读写操作外,还须要提供对硬件控制 ...
分类:
系统相关 时间:
2017-04-18 14:00:38
阅读次数:
522
1.字符设备文件 通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制字符设备。创建字符设备文件的方法: mknod /dev/文件名 c 主设备号 次设备号 使用函数在驱动程序中创建 2.设备描述结构 字符设备在内核中使用struct cdev来描述。 struct cdev { str ...
分类:
其他好文 时间:
2017-04-04 12:44:21
阅读次数:
358
转自:http://www.2cto.com/kf/201510/444943.html Linux驱动开发经验总结,绝对干货! 学习Linux设备驱动开发的过程中自然会遇到字符设备驱动、平台设备驱动、设备驱动模型和sysfs等相关概念和技术。对于初学者来说会非常困惑,甚至对Linux有一定基础的工 ...
分类:
其他好文 时间:
2017-04-03 15:17:19
阅读次数:
255
本人才疏浅学,写一篇文档总结自己在msm8916平台上移植自己编写的简单的字符设备驱动开发的整个流程。这个小项目的主要功能是开发一个简单的APP,APP通过JNI去调用位于kernel的字符设备驱动。 APP的设计,开发平台Android Studio 主要的文件是下面的三个文件: MainActi ...
分类:
移动开发 时间:
2017-03-29 16:17:20
阅读次数:
487
MQ-2烟雾气敏传感器模块在X210v3开发板上的驱动。 现在需要一个MQ-2烟雾气敏传感器模块的驱动。其检测烟雾超过一定的标准后,会返回一个不同的电平,和按键驱动差不多。 但是在编写驱动的时候,需要用GPH2_3号引脚。但是在内核中先ioremap地址然后配置,发现无法控制gpio,也无法进入中断 ...
分类:
系统相关 时间:
2017-03-08 14:46:05
阅读次数:
301
字符设备是Linux三大设备之一(另外两种是块设备,网络设备),字符设备就是字节流形式通讯的I/O设备,绝大部分设备都是字符设备,常见的字符设备包括鼠标、键盘、显示器、串口等等,当我们执行ls -l /dev的时候,就能看到大量的设备文件,c就是字符设备,b就是块设备,网络设备没有对应的设备文件。编 ...
分类:
系统相关 时间:
2017-03-03 10:52:04
阅读次数:
278