linux驱动
文章平均质量分 96
奔跑的小刺猬
欲速则不达
展开
-
linux驱动学习之platform总线使用学习
platform总线通常使用基于两个部分,一个部分是device,一个部分是driver.我以一个简单的led的例子为例总结platform总线的使用。我使用的是s5pv210处理器,所以我以该处理器为例总结,其实linux驱动,对任何处理器都一样。 首先以实现device部分。device主要是数据。首先我在自定义一个结构体,最好是自己创建一个头文件,方便驱动部分好包...原创 2018-06-29 21:23:27 · 2437 阅读 · 1 评论 -
linux驱动input子系统学习三(输入核心层)
输入核心层,是input子系统实现的核心。对下(设备驱动层),提供设备注册接口,输入信息反馈接口。对上(事件驱动层),提供事件注册接口,等。 一.先学习input子系统自己的实现。注册input子系统本身很简单只需要在sysfs中注册号相应的设备类和主设备号即可。下面有难度的是初始化input子系统的proc文件系统,但这不是我们这次分析的核心,也不是必须的,所以proc文...原创 2018-07-28 15:27:19 · 1565 阅读 · 0 评论 -
platform驱动模型使用总结
platform平台总线驱动的编写主要分为两个部分:一个是platform_device部分,主要是提供设备本身对驱动处理所要求的参数。另一个是platform_driver部分,主要是利用platform_device这边传递过来的参数提供对硬件的初始化,以及构建sys文件系统接口,方便应用程序操作驱动。 首先我们看platform_device部分要提供的数据封装和传递。p...原创 2018-07-21 18:13:17 · 2022 阅读 · 0 评论 -
linux驱动input子系统学习七(总结)
input子系统本身的注册:input_init(void) class_register(&input_class); /* sysfs的class下出现input文件夹 */ input_proc_init(); /* 初始化input的proc文件系统 */ register_chrdev(INPUT_M...原创 2018-07-29 20:24:44 · 838 阅读 · 0 评论 -
linux驱动input子系统学习六(数据传输流程)
上一篇博客中曾使用input_report_key函数来上报键值和按键状态,现在我们就分析一下它的上报流程。 可以看系统提供了很多来上报各种信息的函数(适用,键盘,鼠标,触摸屏等各种上报信息)它们都是掉用同一的接口input_enent来实现的,所以input_event才是我们分析的重点。static inline void input_report_key(struct i...原创 2018-07-29 19:06:27 · 1283 阅读 · 0 评论 -
linux驱动input子系统学习五(输入设备驱动层)
输入设备驱动层就是主要由驱动工程师根据具体设备来实现了,既可以实现的很复杂又各种read,write,open等等。也可以实现的很简单。我这里是学习就根据系统给的参考readme实现一份简单的按键值得上报驱动。在documentation文件夹下找到input文件夹,里面有两个主要的文档input.txt和input_programming.txt其中input.txt主要讲述来input...原创 2018-07-29 16:53:30 · 1513 阅读 · 0 评论 -
linux驱动input子系统学习四(输入事件驱动层)
输入事件层目前系统帮我们区分了三种,通用各种类型输入类设备的evdev,主流,也是将来大方向mousedev,joydev。 我们学习就以evdev来学习,将来使用通用性也更高。一、首先是框架性的调用输入核心层实现的input_register_handler和input_unregister_handler来注册evdev层。static struct input_ha...原创 2018-07-28 23:47:33 · 1648 阅读 · 0 评论 -
linux驱动input子系统学习二(框架)
input输入子系统如何工作?例如以一次鼠标按下事件为例子来说明我们的input输入子系统的工作过程:设备驱动层:当我们按下鼠标左键的时候就会触发中断(中断是早就注册好的),就会去执行中断所绑定的处理函数,在函数中就会去读取硬件寄存器来判断按下的是哪个按键和状态 ---->将按键信息上报给input core层 ---> input core层处理好了之后就会上报给inp...原创 2018-07-26 22:47:34 · 4196 阅读 · 0 评论 -
linux驱动input子系统学习一(基础知识)
一.Linux中的input子系统介绍Input驱动程序是linux输入设备的驱动程序,分成游戏杆(joystick)、鼠标(mouse和mice)、键盘(keyboard)、事件设备(event)。其中事件设备驱动程序是目前通用的驱动程序,可支持键盘、鼠标、触摸屏等多种输入设备。Linux input 子系统将一个输入设备的输入过程分成了设备驱动(input device driver...原创 2018-07-25 23:48:25 · 3509 阅读 · 2 评论 -
三星framebuffer驱动代码分析
一、总述本驱动是基于三星的s5pv210处理器分析,对于三星平台所有的framebuffer驱动基本都是一样。对应于s5pv210中的内部外设Display Controller (FIMD)模块。framefuffer驱动是基于字符设备驱动,在使用platform总线封装编写。二、驱动源码的分布1、驱动代码的源文件分布:(1):drivers/video/samsung...原创 2018-07-20 00:47:56 · 1021 阅读 · 0 评论 -
利用linux驱动思想实现s5pv210的lcd控制器
本文章主要参考自韦东山老师的新一期裸板视屏中LCD显示章节最近在看驱动,发现部分。韦老师的裸机部分已经使用了驱动的操作分层和数据分离的思想,回来再刷一遍,顺便做好记录。1.LCD的扫描显示原理大家可以看下面这篇文章,讲的特别清晰,我就不重复。http://www.cnblogs.com/shangdawei/p/4760933.html2.S5PV210的LCD组成因为S5PV210的LCD支持很...原创 2018-07-08 18:02:16 · 829 阅读 · 0 评论 -
linxu驱动platform的细节实现
https://blog.csdn.net/qq_16777851/article/details/80850526https://blog.csdn.net/qq_16777851/article/details/81124536https://blog.csdn.net/qq_16777851/article/details/81145148前两篇文章以例子的形式举例了platfo...原创 2018-08-02 20:10:50 · 1334 阅读 · 0 评论