- 博客(28)
- 资源 (23)
- 收藏
- 关注
原创 Android输入事件流程 收藏
Android输入事件流程转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 EventHub对输入设备进行了封装。输入设备驱动程序对用户空间应用程序提供一些设备文件,这些设备文件放在/dev/input里面。EventHub扫描/dev/input下所有设备文件,并打开它们。bool E
2010-02-26 19:05:00 1325
原创 Android事件处理分析
按键事件对于按键事件,调用mDevices->layoutMap->map进行映射。映射实际是由 KeyLayoutMap::map完成的,KeyLayoutMap类里读取配置文件qwerty.kl,由配置 文件 qwerty.kl 决定键值的映射关系。你可以通过修 改./development/emulator/keymaps/qwerty.kl来改变键值的映射关系。 JNI 函数 在f
2010-02-26 19:03:00 3605
原创 Android底层和中间层共同学习系列之android键盘映射
(转载请说明来自国内最大Android社区androidin底层驱动论坛分支,国内最大linux社区Linuxforum 嵌入式linux分支)
2010-02-26 19:03:00 3823
原创 输入子系统--event层分析
#####################################################################################################早前曾研究了一下输入子系统的原理,给人的感觉是输入子系统很复杂.但其实内核开发者在这方面已经做得很完善了,输入子系统虽然错综复杂,但是只要我们领会了输入子系统的一些设计思想后,我们要使用它并
2010-02-26 19:02:00 2991
原创 Cache 的write back和write through
为了保证cache和memory的数据一致性,通常有三种方法:1〉write through:CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。2〉post write:CPU更新cache数据时,把更新的数据写入到一个更新缓冲器,在合适的时候才对memory进行更新。这样可以提高cach
2010-02-25 17:40:00 5363
原创 error: insufficient permissions for device的解决
So you probably need to do “adb start-server” as root first:ubuntu$ sudo ./out/host/linux-x86/bin/adb kill-serverubuntu$ sudo ./out/host/linux-x86/bin/adb start-server* daemon not running. sta
2010-02-25 17:33:00 15909 2
原创 用命令行发送键盘,touch消息
use: sendevent command format: sendevent device type code value [command] [device] [type] [code] [value] sendevent /dev/input/event0 1 229 1 /d
2010-02-25 16:32:00 2444
原创 android 改变线程优先级Change Thread Priority
为了提高 我们的Activity中的线程的线程优先级(Thread-Priority),我们需要在AndroidManifest.xml 中使用 uses-permission 这样做:XML: 现在你可以在你的Activity中使用以下代码改变或提高任何线程的优先级:Java: import android.os.Process
2010-02-25 16:13:00 10280
原创 Android的电话功能介绍
第一部分 电话功能概述 Android的Radio Interface Layer (RIL)提供了电话服务和的radio硬件之间的抽象层。 Radio Interface Layer RIL(Radio Interface Layer)负责数据的可靠传输、AT命令的发送以及response的解析。应用处理器通过AT命令集与带GPRS功能的无线通讯模块通信。 AT comm
2010-02-25 16:12:00 1760
转载 中国做技术没前途
我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊). 一、 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。 不知道你是不是知道,咱们中国有相
2010-02-25 15:33:00 7696 9
转载 PC通过Android手机(Broncho A1)访问Internet
转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 Broncho A1和普通Android手机一样,不能直接拿来当modem使用,不过可以把它当作一个网关或代理,这样,PC就可以通过A1来访问Internet 了。今天用privoxy(http://www.privoxy.org/)试了一下,工作正常,具体步骤如下:1. 下载 pri
2010-02-25 10:17:00 1274
原创 想成为嵌入式程序员应知道的10个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要
2010-02-23 13:59:00 841
原创 C++构造函数的幕后工作
多年前学习C++的时候就知道每个类都有一个默认的构造函数,但是为什么要有这样的规则却一直不求甚解,汗一个。刚好最近在重新学习C++的内存模型,看看它到底做了么事?写一个简单的类:class CParentA{public: CParentA() {} public: int parenta_a; int parenta_b;
2010-02-22 15:51:00 957
原创 arm elf文件格式简单分析
/* * ELF文件格式定义 */#ifndef __ELF2BIN_H__#define __ELF2BIN_H__#define Elf32_Addr unsigned int#define Elf32_Half unsigned short#define Elf32_Off unsigned int#define Elf32_SWord unsigned int#define
2010-02-22 14:50:00 3590
原创 Chrome源码剖析-- Chrome的插件模型
1. NPAPI为了紧密的与各个开源浏览器团结起来,共同抗击IE的垄断,Chrome的插件,也遵循了NPAPI(Netscape Plugin Application Programming Interface)标准,支持这个标准的浏览器需要实现一组规定的API供插件调用,这组API形如NPN_XXX,比如NPN_GetURL,插件可以利用这些API进行二次开发。而NPAPI插件以一个Dl
2010-02-22 09:52:00 2104
原创 Chrome源码剖析--Chrome的进程模型
1. 基本的进程结构Chrome是一个多进程的架构,不过所有的进程都会由老大,Browser进程来管理,走的是集中化管理的路子。在Browser进程中,有xxxProcessHost,每一个host,都对应着一个Process,比如RenderProcessHost对应着RenderProcess,PluginProcessHost对应着PluginProcess,有多少个host的实例,
2010-02-22 09:51:00 1021
原创 Chrome源码剖析--Chrome的UI绘制
1. Chrome的窗口控件Chrome提供了自己的一个UI控件库,相关文档可以参见 这里 。用Chrome自己的话来说,我觉得市面上的七荤八素的图形控件库都不好用,于是自己倒腾倒腾实现了一套。。。广告虽如此说,不过,Chrome的图形控件结构,我还未发现有啥非常非常特别的地方。Chrome的窗口、按钮、菜单之类的控件,都直接或间接派生自View,这个是控件基类。Chrome的View
2010-02-22 09:51:00 2520 1
原创 Chrome源码剖析--Chrome的多线程模型 中
2. 进程间的跨线程通信和同步通信在Chrome中,任何底层的数据都是线程非安全的,Channel不是太上老君(抑或中国足球?...),它也没有例外。在每一个进程中,只能有一个线程来负责操作Channel,这个线程叫做IO线程(名不符实真是一件悲凉的事情...)。其它线程要是企图越俎代庖,是会出大乱子的。。。但是有时候(其实是大部分时候...),我们需要从非IO线程与别的进程相通信,这
2010-02-22 09:49:00 1201
原创 Chrome源码剖析--Chrome的多线程模型 下
4. 定义IPC消息如果你写过MFC程序,对MFC那里面一大堆宏有所忌惮的话,那么很不幸,在Chrome中的IPC消息定义中,你需要再吃一点苦头了,甚至,更苦大仇深一些;如果你曾经领教过用模板的特化偏特化做Traits、用模板做函数重载、用编译期的Tuple做变参数支持,之类机制的种种麻烦的话,那么,同样很遗憾,在Chrome中,你需要再感受一次。。。不过,先让我们忘记宏和模板,看人肉
2010-02-22 09:49:00 1054 1
原创 Chrome源码剖析--Chrome的进程间通信 上
1. Chrome进程通信的基本模式进程间通信,叫做IPC(Inter-Process Communication),在Chrome不多的文档中,有一篇就是介绍这个的,在 这里 。Chrome最主要有三类进程,一类是Browser主进程,我们一直尊称它老人家为老大;还有一类是各个Render进程,前面也提过了;另外还有一类一直没说过,是Plugin进程,每一个插件,在Chrome中都是以进
2010-02-22 09:48:00 1698
原创 Chrome源码剖析--Chrome的多线程模型 下
2. Chrome中的Task从上面的表不难看出,不论是哪一种消息循环,必须处理的,就是Task(暂且遗忘掉系统消息的处理和Watcher,以后,我们会缅怀它们的...)。刨去其它东西的干扰,只留下Task的话,我们可以这样认为:Chrome中的线程从实现层面来看没有任何区别,它的区别只存在于职责层面,不同职责的线程,会处理不同的Task。最后,在铺天盖地西红柿来临之前,我说一下啥是Tas
2010-02-22 09:46:00 1243
原创 Chrome源码剖析--Chrome的多线程模型 上
0. Chrome的并发模型如果你仔细看了前面的图,对Chrome的线程和进程框架应该有了个基本的了解。Chrome有一个主进程,称为Browser进程,它是老大,管理Chrome大部分的日常事务;其次,会有很多Renderer进程,它们圈地而治,各管理一组站点的显示和通信(Chrome在宣传中一直宣称一个tab对应一个进程,其实是很不确切的...),它们彼此互不搭理,只和老大说话,由老大
2010-02-22 09:45:00 1867
原创 Chrome源码剖析-- 序
开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。现在我就是来抱大腿的,这条粗腿隶属于Chrome(开源项目名称其实是Chromium,本来Chrome这个名字就够晦涩了,没想到它的本名还更上一层楼...),Google那充满狼子野心的浏
2010-02-22 09:43:00 1166 1
原创 building android 问题
While I am building android on my linux box have thiserror happen:host Executable: localize (out/host/linux-x86/obj/EXECUTABLES/localize_intermediates/localize)out/host/linux-x86/obj/STATIC_LIBRARIE
2010-02-21 17:43:00 1926
原创 最新的25个最危险的编程错误
1. 跨站点脚本攻击(4)2. SQL注入(3)3. 经典缓冲区溢出(1)4. 跨站点请求伪造(7)5. 不正确的访问控制(授权)6. 在安全决策中依赖不可信的输入7. 不正确地将路径名限制为受限路径8. 上传危险类型的文件不受限9. 操作系统命令中特殊因素的处理不正确(操作系统命令注入)(5)10. 敏感信息未加密(6)11. 使用硬编码凭据(21)
2010-02-21 11:27:00 864
原创 gspca驱动移植介绍
gspca webcam drivers 是linux下摄像头支持的最广泛的一个驱动, 这是由一个法国医生(http://mxhaard.free.fr/)所设计编写的.不过从2007年底开始,已经不再维护, 最后一个版本为20071224.ubuntu中可以在通过apt-get install gspca-source安装代码, 不过此代码再2.6.26以上内核会编译出错.而从lw
2010-02-10 17:08:00 5261
原创 CPU Design HOW-TO
CPU Design HOW-TOAl Dev (Alavoor Vasudevan) alavoor[AT]yahoo.comv12.5, 17 Feb 2002 CPU is the "brain" of computer and is a very vital component of computer system and is like a "cousin b
2010-02-08 13:58:00 15372
原创 在Ubuntu 9.10中DIY谷歌Chrome OS (附下载
谷歌的天才们在上周发布了Google Chrome OS的开源项目Chromium OS,因为从个人角度来讲,我一直支持云技术(Cloud Computing)和网络应用(Web Application),并尽力为其推进做些贡献,那么,谷歌发布基于云计算的操作系统,当然要来尝尝鲜。当然,如果你对技术不感兴趣,而只想尝试10年后,下一代操作系统是什么样子的,那么,你可以直接跳到本文末尾,阅读
2010-02-02 13:53:00 3126
WebKit 研究报告(侯炯)
2012-05-10
ALSA 驱动架构说明
2012-04-06
Android 高效编程注意事项
2012-04-06
android系统vold透析
2012-04-06
android 核心学习资料
2010-09-09
MPEG-2 压缩编码技术原理应用
2010-05-12
Pthreads Programming
2010-03-24
The Linux Kernel API
2010-03-24
The Linux TCP/IP Stack: Networking for Embedded Systems
2010-03-24
usb 鼠标驱动注解及测试
2010-03-24
用 FPGA 如何自己设计 CPU 和制作计算机
2010-03-24
avs 标准文档中的源码
2009-10-13
项目管理知识体系指南
2009-10-06
PMP项目管理原版书籍
2009-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人