自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linux嵌入式驱动软件开发

android底层开发和移植

  • 博客(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 研究报告(侯炯)

webKit 的前身是 KDE 小组的 KHTML。Apple 将 KHTML 发扬光 大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器 Safari,获 得了非常好的反响。 WebKit 内核在手机上的应用十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使 用的 Browser 内核引擎,都是基于 WebKit

2012-05-10

ALSA 驱动架构说明

除了一组内核驱动程序模块之外, ALSA 还专门为简化应用程序的编写提供了相应的函 数库。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库 内部处理。下面本文将着重介绍驱动模块的运作机制及其要点。 Alsa kernel 为上层主要提供以下接口: 1 control interface 提供灵活的方式管理注册的声卡和对存在的声卡进行查询。 2 PCM interface 提供管理数字音频的捕捉和回放。 3 原始 MIDI 接口 一种标准电子音乐指令集。 这些 API 提供访问声卡上的 MIDI 总 线。这些原始借口直接工作在 The MIDI 事件上,程序员只需要管理协议和时间。 4 Timer 接口 为支持声音的同步事件提供访问声卡上的定时器。 5 音序器接口 一个比原始 MIDI 接口高级的 MIDI 编程和声音同步高层接口。它可以处 理很多的 MIDI 协议和定时器。 6 mixer 接口 控制发送信号和控制声音大小的声卡上的设备。

2012-04-06

Android 高效编程注意事项

最近用 Android 开发了几个模块,感觉有点慢,后来好好看了相关优化 Android 代码的知识,优化之后,感觉快了很多。 在这里与大家分享一下,下面只是说 的一些很基础有很重要的知识,你想要编写运行速度很快、 占用内存少的代码可能有 点帮助

2012-04-06

android系统vold透析

Vold 的全称是 Volume Daemon。在 android 中,取代 udev 的是 vold,我们这里不去过 多的讨论为什么 android 不继续使用 udev,但要知道 vold 的机制和 udev 是一样的,理 解了 udev,也就理解了 vold。android 一出生就没有尊守传统 linux 的许多标准,当然也 不能指望 udev 能很好的服务于 android。android 小区的选择是别起炉灶,为 android 定做一套 udev,这就是 vold 了。 无论是 udev 还是 vold,都是基于 sysfs 的, sysfs 为内核 与用户层的通讯提供了一种全新的方式,并将这种方式加以规范。kernel 层能检测到有新 的设备接入,并能为之加载相应的驱动,但如何通知用户层呢?这就是 sysfs 的工作,内核 中的 sysfs 机制要求当有新的驱动加载时给用户层发送相应的 event.但这些 event 只尽告 知的义务,具体怎么处理,这就是 vold 的事了

2012-04-06

Android多媒体编程从初学到精通

深度开发android系统,Android多媒体编程从初学到精通

2011-08-24

android 核心学习资料

1. Android內核Porting相關背景知識 1.1 運行平台 Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其编譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以参考下面這篇文章,Benno在此做了詳細的理論分析和代碼測試:http://benno.id.au/blog/2007/11/21/android-neo1973 . 不過依照目前現階段情形除了原本基於ArmV5或以上的架構的平台可以實際運行Android外,亦可在 ARMV4 上面運行了,詳細操作步驟請參考文章最下面 Benno’s 的一些連結資訊,他有 release 一些 patch 可以供 porting 實驗之用。 1.2 軟體環境(開發所需資源)

2010-09-09

MPEG-2 压缩编码技术原理应用

MPEG 是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化 组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1 的第 29 分委员会的第 11 工作组, 即 ISO/IEC JTC1/SC29/WG11,成立于 1988 年。其任务是制定世界通用的视音频编码标准。因为,广 播电视数字化所产生的海量数据对存储容量、传输带宽、处理能力及频谱资源利用率提出了不切合实 际的要求,使数字化难以实现。为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和 相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重 要的东西及冗余成分抛弃,从而缩减了存储、传输和处理的数据量,提高了频谱资源利用率,制定了 如表 1 所示的一系列 MPEG 标准,使数字化正在变为现实。其中,MPEG-2 是一组用于视音频压缩编 码及其数据流格式的国际标准。它定义了编解码技术及数据流的传输协议;制定了 MPEG-2 解码器之 间的共同标准(MPEG-2 编码器之间尚无共同标准)。本文以 MPEG-2 的系统、MPEG-2 的编码、及 MPEG-2 的应用为题,讨论 MPEG-2 压缩编码技术。

2010-05-12

HDMI 传输原理解析

那么到底 HDMI 标准采用了什么样的传输原理?HDMI 的具体性能又是怎样?下面就进入本文的第二部分: 详解 HDMI 技术。

2010-05-12

嵌入式-------面试宝典

包括职场面试,笔试,同时又是学习的好资料。

2010-05-06

Pthreads Programming

Editor: Andy Oram Production Editor: Nancy Crumpton Printing History: September 1996: First Edition February 1998: Minor corrections Nutshell Handbook and the Nutshell Handbook Logo are registered trademarks and The Java Series is a trademark of O'Reilly & Associates, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

2010-03-24

The Linux Kernel API

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more details see the file COPYING in the source distribution of Linux.

2010-03-24

The Linux TCP/IP Stack: Networking for Embedded Systems

Written for embedded systems programmers and engineers, as well as networking professionals, this in-depth guide provides an inside look at the entire process of implementing and using the Linux TCP/IP stack in embedded systems projects.

2010-03-24

usb 鼠标驱动注解及测试

参考 2.6.14 版本中的 driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分: 驱动加载部分、probe 部分、open 部分、urb 回调函数处理部分。 下文阴影部分为注解。

2010-03-24

用 FPGA 如何自己设计 CPU 和制作计算机

为了让更多的人能够迅速掌握用 FPGA 自己设计 CPU 和制作计算机的方法,推动我 国计算机科学向深层次发展,本文特一般性 介绍一下设计需要掌握的基本知识和设计制 作计算机的一般过程。

2010-03-24

avs 标准文档中的源码

/****************************************************************** AVS Reference Software Manual ******************************************************************/ please send comments and additions to jianwen.chen@gmail.com 1. Compilation 2. Command line parameters 3. Input/Output file format 4. Configuration files **************************************************************** 1. Compilation 1.1 Windows A workspace for MS Visual C++ is provided with the name "RM.dsw". It contains the encoder and decoder projects. And you can also use the separate project files: lencod.dsw , ldecod.dsw. 1.2 Unix Makefiles are provided in the lencod and ldecod directory. 'make' comand will creat the obj directory and generate the executable file in the 'bin' directory. ******************************************************************* 2. Command line parameters 2.1 Encoder lencod.exe [-f file] [-p parameter=value] All Parameters are initially taken from the 'file ', typically: "encoder.cfg" -f file If an -f parameter is present in the command line then the parameters will be taken from the config file See configfile.h for a list of supported ParameterNames. -p parameter=value If -p parameters are present then the ParameterValue will overide the config file's settings. There must be whitespace between -f and -p commands and their respecitive parameters. 2.2 Decoder ldecod.exe decoder.cfg The decoder configuration file name must be provided as the first parameter. All decoding parameters are read from this file. ******************************************************************* 3. Input/Output file format The codec can only support 4:2:0 format video sequences. For encoder, the input files should be t

2009-10-13

项目管理知识体系指南

作为美国项目管理协会的标准和指南性出版物,这就是其中一本,是通过一个自发的以协商为基 础的标准开发过程而进行开发的。此过程把志愿者聚在一起,同时也获得一些对此书内容感兴趣 的人的观点。PMI 在实施此过程时,确立相应规则,以便在达成一致意见的过程中提高公正性。 协会不出台此文本, 也不独立测试、评估或证明任何信息的准确性、完整性和任何此学会的标准 性和指南性出版物中有关判断的正确性。

2009-10-06

PMP项目管理原版书籍

项目管理知识体系(PMBOK)是一个涵盖面甚广的术语,描述项目管理职业知识的总和。如同法律、 医学和会计等其它职业一样,项目管理知识体系依赖于应用和推动其发展的实际工作者和学者来逐步建 立。完整的项目管理知识.体系不仅包括广泛应用的已被实践证实的传统做法, 还包括仅在有限范围内应用、 具有开创性的和先进性的方法;不仅包括已发表的资料,而且还包括未发表的资料.

2009-10-06

c语言图算法基础.pdf

相对图论有加深了解,可以下载该文书籍,涵盖的知识庭全面的。

2009-09-23

多线程编程指南.pdf

这是基于posix的多线程编程,非常全面,有助于对多线程的编写能力,

2009-09-23

GNU C LIBrary.pdf

涵盖了gnu中的c库非常全面,是不可多的的书籍, 包含了posix库及unix的扩展库

2009-09-23

GCC技术参考手册(英文).pdf

gcc官方资料,有助于对gcc的加深了解 非查难得

2009-09-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除