![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 72
一匹马马马
Everything comes from intentional practice.
展开
-
linux文件系统
引言我的疑问是:内核的启动(不管是嵌入式linux系统,还是普通linux系统)在各个启动阶段,所使用的文件系统是不一样的,最终内核启动完成,我们的文件系统,各种磁盘设备是如何,且在何时于用户空间的文件系统映射起来的?总有一篇文章,一篇博客,一本书会不经意间解除你的困惑,让你一下清楚明了,这样的文章值得转载:https://www.cnblogs.com/alantu2018/p/8447...转载 2019-10-23 13:56:22 · 368 阅读 · 0 评论 -
深入理解Linux启动过程
第一篇完全译文,因为自己对技术和英文的热爱,所以决定翻译此文,水平有限,所以肯定会有不恰当的地方,欢迎移驾至原地址:http://www.ibm.com/developerworks/linux/library/l-linuxboot/注:因为想写一篇博文来阐述并理清Android启动的完全过程,发现了这篇文章,觉得写得十分好,帮我解答了很多疑惑。说明文章转自:http://huaq...转载 2019-10-22 22:04:05 · 354 阅读 · 0 评论 -
linux kernel input子系统三层分析
输入子系统之input handler,input core,input dev介绍,如有误,请纠正>>>好记性不如烂笔头!!!一、输入子系统驱动分成三层 应用层 -------------------------------------------------...原创 2018-05-26 17:56:07 · 3198 阅读 · 0 评论 -
输入子系统的input handler、input device、handle之间的关系
1.vdev.c中evdev_connect()是属于input handler层,是device和handler注册的核心层,且匹配成功后会调用evdev_connect()。一般在内核启动的时候,input handler是已经注册了的,也就是说我们evdev_handler是先有的。然后我们在device层写的input_dev注册进来后遍历input_handler_list,查找有没有一...原创 2018-05-26 22:43:36 · 3055 阅读 · 1 评论 -
内核输入子系统之evdev_open和evdev_read介绍
在分配evdev后其中还有一个队列成员就是client,记录input_dev上报的数据,实际看下clent的描述:可以看出确实是一个队列,有头有尾。其中由于一个设备节点对应一个cdev(cdev是evdev的成员),一个evdev对应要给input_dev,一个input_dev对应一个input_handler,一个handler对应多个input_dev,有container_of技术可以通...原创 2018-05-27 11:44:21 · 1143 阅读 · 0 评论 -
内核input子系统之input_event数据上报过程
我们数据上报是在device层,其中上报的一个入口是调用input_event(dev, EV_KEY, code, !!value);那么,那么首先在在其中做的判断是是否支持evbit,什么意思呢?我们还记得在module_init中会做一个初始化设置:设置了当前设备能够产生按键数据--将某个bit置1,和当前设备能够产生的输入按键类型,比如power键,音量up键等。设置方法如下:__set_...原创 2018-05-28 21:02:12 · 14543 阅读 · 0 评论 -
内核input子系统之events填充数据过程
从前面可知道如果有events是优先调用的,那么我直接看events好了,其中,我们首先获取到handle,拿到handle后我们就可以拿到client缓冲区了,用于填充要上报的数据,之前是暂存到input device后通过指针传递过来的。最终events是如何填充数据的,实际上是先获取evdev,因为获取了evdev后,我们是可以获取到缓冲区的,拿到client缓冲区,我们通过evdev_pa...原创 2018-05-28 22:16:43 · 924 阅读 · 0 评论 -
Linux I2C从设备树信息查看与添加方法
下面介绍如何查看一个i2c-adapter对应的设备树文件,i2c-client对应的设备树文件我们知道I2C-client的信息和adapter的一些信息如寄存器等信息是放在设备树里面的,那么在设备树的什么位置呢?在arch/arm/boot/dts/xxx.dts在默认的文件系统中查看默认只提供了一个,也是第0组的I2C,我们需要的其他组需要自己添加。 实际上,我们从S...原创 2018-06-01 12:16:31 · 19268 阅读 · 3 评论 -
I2c driver驱动编写常用接口介绍
驱动的编写我们需要了解常用的接口,下面介绍I2cdriver驱动编写的常用接口!!!1.struct i2c_driver:描述从设备驱动的一个对象2.struct i2c_client:作用是描述一个从设备信息,不需要自己创建由adapter创建(内部创建的时候调用的是:struct i2c_client *i2c_new_device(struct i2c_adapter * adap,str...原创 2018-06-01 22:35:42 · 2649 阅读 · 2 评论