随笔分类 -  Android底层驱动学习--韦东山视频学习

主要会涉及韦东山老师视频的笔记,由于近期项目原因,更新有点慢,希望大家对本人的博客进行批评指正。
摘要:Android系统 输入系统(十七)Dispatcher线程_分发dispatch 1. 回顾 InputRead线程从输入设备当中得到输入事件 对于读到输入事件稍作处理,比如紧急事件,来电时候按下音量键便是静音,这时候是直接处理的,处理之后再把输入事件放入mInBoundQueue队列当中,接着唤 阅读全文
posted @ 2017-07-21 15:50 lkq1220 阅读(609) 评论(0) 推荐(1) 编辑
摘要:Android系统 输入系统(十六)APP跟输入系统建立联系_InputChannel和Connection 0. 核心:socketpair机制 1. 回顾Dispatch处理过程: 1.1 放入队列前稍加处理 分类:Global Key/System Key/User Key 处理紧急事件(比如 阅读全文
posted @ 2017-07-20 15:02 lkq1220 阅读(1254) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(十五)实战_使用GlobalKey一键启动程序 1. 一键启动的过程 1.1 对于global key, 系统会根据global_keys.xml发送消息给某个组件 1.2 APP应该注册广播消息的接收者 1.2.1 编写BroadcastReceiver派生类, 实现 阅读全文
posted @ 2017-07-15 16:06 lkq1220 阅读(1942) 评论(0) 推荐(1) 编辑
摘要:Android系统 输入系统(十四)Dispatcher线程情景分析_dispatch前处理 1. 回顾 我们知道Android输入系统是Reader线程通过驱动程序得到上报的输入事件,还要经过处理,才可以将输入事件发送给应用程序,现在回顾一下是具体做哪些处理。 1. 首先Reader线程会将输入事 阅读全文
posted @ 2017-07-14 14:28 lkq1220 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(十三)Dispatcher线程情景分析\_Reader线程传递事件 1. 输入按键 我们知道Android系统的按键分为三类:(1)Global Key;(2)System Key;(3)User Key Global Key:按下一个按键,启动某个APP。 具体使用哪 阅读全文
posted @ 2017-07-12 17:57 lkq1220 阅读(1175) 评论(0) 推荐(1) 编辑
摘要:Android系统 输入系统(十二)Dispatch线程_总体框架 1. Dispatch线程框架 我们知道Dispatch线程是分发之意,那么便可以引入两个问题:1. 发什么;2. 发给谁。这两个问题便是构成Dispatch线程的主要两个部分,也是今天博文主要讨论的问题,本次只是简单介绍框架,具体 阅读全文
posted @ 2017-05-07 12:46 lkq1220 阅读(799) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(十一)Reader线程\_简单处理 1. 引入 Reader线程主要负责三件事情 获得输入事件 简单处理 上传给Dispatch线程 InputReader.cpp 前面我们已经分析其如何获取输入事件以及涉及中重要的数据结构,本次博文主要阐述其如何处理输入事件。Read 阅读全文
posted @ 2017-05-04 22:08 lkq1220 阅读(1231) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(十)Reader线程_核心类及配置文件深入分析 0. 前言 个人认为该知识点阅读Android源代码会不仅容易走进死胡同,并且效果并不好,前脚看完后脚忘记,故进行总结,希望可以更好帮助大家了解,了解之后在进行阅读源代码会有事半功倍的效果。 1. 引入 由输入系统(九)实 阅读全文
posted @ 2017-04-28 21:07 lkq1220 阅读(668) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(九)Reader线程_核心类及配置文件 1. Reader线程核心类 EventHub 1.1 Reader线程核心结构体 实例化对象:mEventHub 表示多个输入设备,里面有数组mPendingEventItems存储多个设备 mDevice vector,用来表 阅读全文
posted @ 2017-04-23 13:57 lkq1220 阅读(864) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(八)Reader线程_使用EventHub读取事件 1. Reader线程工作流程 获得事件 简单处理 将事件分发给Dispatch线程处理 2. Reader线程获得事件分析 2.1 事件结构体描述 2.2 事件类型 事件类型type: DEVICE_ADDED(输入 阅读全文
posted @ 2017-04-21 14:00 lkq1220 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(七)Reader_Dispatcher线程启动分析 1. Reader/Dispatcher的引入 对于输入系统来说,将会创建两个线程: Reader线程(读取事件) Dispatcher线程(分发事件) 2. Reader/Dispatcher的创建 我们知道在And 阅读全文
posted @ 2017-04-19 22:40 lkq1220 阅读(532) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入系统(六)模拟输入驱动程序 1. 回顾输入子系统 简单字符设备驱动:应用程序通过调用驱动所实现的函数使能硬件。 输入子系统:由于有多个应用程序使用输入子系统,故肯定使用的是早已规定好驱动接口,我们所需要实现的这是实现硬件相关的操作。 2. 输入子系统特性 有多套open/re 阅读全文
posted @ 2017-04-18 13:38 lkq1220 阅读(1844) 评论(0) 推荐(1) 编辑
摘要:Android系统 输入系统(五)输入系统框架 1. Android设备使用场景: 假设一个Android平板,APP功能、系统功能(开机关机、调节音量)、外接设备功能(键盘、触摸屏、USB外接键盘/鼠标)。 2. 引入输入系统: (1)触摸屏控制APP (2)外接设备控制系统功能 3. 输入系统三 阅读全文
posted @ 2017-04-16 21:12 lkq1220 阅读(777) 评论(0) 推荐(0) 编辑
摘要:Android系统 Binder系统具体框架分析(二)Binder驱动情景分析 1. Binder驱动情景分析 1.1 进程间通信三要素 源 目的:handle表示“服务”,即向实现该“服务”的进程发送数据;handle是“服务”的引用 数据 1.2 handle的深入剖析 1.2.1 涉及hand 阅读全文
posted @ 2017-02-28 21:28 lkq1220 阅读(845) 评论(0) 推荐(0) 编辑
摘要:Android系统开发 Android灯光系统之电池灯的流程分析 前期系统准备 运行初始化,创建系统服务 创建电池服务,获得电池灯;创建监听者监听上报电池事件; mSystemServiceManager.startService(BatteryService.class); mLed = new 阅读全文
posted @ 2017-02-28 19:14 lkq1220 阅读(882) 评论(0) 推荐(0) 编辑
摘要:Android系统开发 Android灯光系统tiny4412_led_class驱动编写 框架分析 led_classdev_4412结构体 创建led_classdev_4412结构体 分配结构体空间 c struct led_desc { int gpio; char name; }; sta 阅读全文
posted @ 2017-02-28 19:07 lkq1220 阅读(541) 评论(0) 推荐(0) 编辑
摘要:Android系统 Binder系统具体框架分析(一)补充 补充:对Binder驱动分析一的代码补充,添加saygoobye和saygoodbye_to服务 test_server.h test_server.c server.c 阅读全文
posted @ 2017-02-28 19:02 lkq1220 阅读(443) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入子系统 双向通信 socketpair Linux编程 阅读全文
posted @ 2017-02-24 20:05 lkq1220 阅读(843) 评论(0) 推荐(0) 编辑
摘要:Android系统 输入子系统 epoll机制 inotify机制 Linux编程 阅读全文
posted @ 2017-02-23 19:49 lkq1220 阅读(716) 评论(0) 推荐(0) 编辑
摘要:Android输入子系统 Linux Epoll机制 inotify机制 阅读全文
posted @ 2017-02-23 16:57 lkq1220 阅读(696) 评论(0) 推荐(0) 编辑