- 博客(8)
- 资源 (1)
- 收藏
- 关注
转载 I2C设备驱动框架和一个实例注册
注:这是我在自己学习I2C驱动框架时候记录的笔记,不喜勿喷 一、内核中实现I2C驱动框架和一个实例注册相关的文件 1./dricer/i2c/i2c-core.c 2./arch/arm/mach-s3c2440/mach-smdk2440.c 3.driver/i2c/buses/i2c-s3c2410.c 4./driver/i2c/i2c-dev.c 以后分析的代码就来源于这几个...
2017-01-18 14:47:14 500
原创 input子系统框架学习
注:这篇文章是我在学习的过程中,整理出来的,我也是学习这,不喜勿喷!一、input子系统基础 1.input子系统的分层 注:一般的驱动框架都分为两层(驱动框架层和驱动设备层),驱动框架层是由内核开发者提供,驱动设备层是由具体的驱动开发工程师来编写。但是input子系统的分层为3层 (1)最上层:输入事件驱动层,在evdev.c,mousedev.c、joydev.c等文件下。注意:不是...
2016-12-18 19:07:52 327
原创 framebuffer驱动框架代码解析
注:我的博客都是我在学习时候为了增强我对一些内容的印象而写的,不喜勿喷 一、framebuffer驱动相关基础 1.驱动框架部分涉及的文件 (1)driver/video/fbmem.c (2)driver/video/fbsys.c (3)driver/video/fb_notify.c2.相关的两个重要结构体。 (1)fb_fix_screeninfo结构体,framebuffer不
2016-12-12 20:32:22 494
原创 LED驱动框架解析
注:我看的内核是三星官方提供的2.6.35版本的内核 一、驱动框架基础 1.框架,框架首先要有框架的思想,也就是要明白我们自己要写哪一部分的代码,哪一部分代码是别人帮我们写好的(我们直接用就行)。2.首先要明白写一个驱动,需要两波人的参与。 (1)内核维护者提供的框架相同的部分。 (2)驱动开发工程师根据不同的硬件,使用内核维护者提供的框架部分的接口来开发硬件的驱动。二、内核维护者
2016-12-08 21:59:32 453
原创 S5PV210静态映射表的构建过程
注:分析的三星官方的内核。 一、板子启动相关 1.首先得明白一般与板子相关的启动初始化都在mach-xxx.c文件。因为静态映射表我们主要关注的是板子的GPIO,而GPIO也属于板子启动必须初始化的部分,所以我们要找的文件就是/kernel/arch/arm/mach-s5pv210/mach-smdkc110.c文件。 2.熟悉内核的人都知道板子的启动相关初始化都在一个结构体当中。 (1)
2016-12-08 16:38:24 305
转载 Linux内核之platform设备驱动框架的理解
1.首先明白一点platform的创建是基于bus和device。而且platform的创建分为两步:在devicesmu目录下的创建。和bus目录下的创建。 不多说直接看代码int __init platform_bus_init(void){ int error; early_platform_cleanup(); error = device_register(&pla
2016-11-26 16:25:48 388
转载 Linux内核之BUS驱动设备模型理解
声明:也是参考前面两位大神而写出来的。作为学生,如果有不对的,不喜勿喷。进入正题。1.BUS相关的数据结构struct bus_type { //bus的名称, const char *name; //bus相关的属性 struct bus_attribute *bus_attrs; //device相关的属性 struc
2016-11-26 14:21:05 420
转载 Linux内核之Devices创建过程解析
内核版本:2.6.35.7 声明:一部分是我自己整理的,大多数都是参考别人文章整理的。也感谢那些经常发文章教导的大神们。废话不说,进入正题。 参考文章链接 Device的创建是基于kobject和kset。 参考文章链接 1.要明白Device的创建过程,首先要知道它相关的结构体 struct device { struct device *parent;
2016-11-25 21:53:03 458
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人