自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热爱生活,热爱android.

记录生活,记录工作,记录人生,记录对将来有用的.

  • 博客(83)
  • 收藏
  • 关注

转载 usb storage

usb驱动分析一:http://wenku.baidu.com/view/fbce5512a2161479171128f5.html USB驱动分析(二)                分类:            USB驱动2012-07-18 10:59615人阅读评论(0)收藏举报structinterfacedescriptor数据结构semaphoretable

2013-03-03 21:19:17 5652

转载 命令行模拟拨打电话、短信

1.启动android emulator,查看标题栏找出端口。一般是android emulator (5554),其中5554就是端口。2.打开命令行,输入telnet localhost 5554。程序将会连接到android console,返回Android Console: type 'help' for a list of commandsOK模拟电话打入gsm

2013-03-02 20:54:17 7485

转载 RIL

在上一篇博文中我讲了如何在Android中不启动界面连接wifi,在这篇博文中我将讲如何不启动界面连接手机网络。Android的RIL(Radio Interface Layer)模块提供Android telephony服务和radio硬件之间的一个抽象层。RIL模块的架构如下图所示最上面的是Android的应用程序,比如拨号、短信息等程序,这些程序调用Application Fra

2013-03-02 20:45:09 4252

转载 Android通过JNI调用驱动程序(完全解析实例)

要达到的目的:android系统中,用JAVA写界面程序,调用jni中间库提供的接口,去操作某个驱动节点,实现read,writer ioctl等操作!这对底层驱动开发人员是很重要的一个调试通道,也是android 系统下提供一些特殊功能接口的方法!本文前提:我们假设已经写了一个驱动程序,它是控制LED的亮灭的,并且创建了一个节点:/dev/vib,也就是通过open这个vib节点,可以rea

2013-03-02 19:31:01 859

转载 嵌入式LINUX环境下视频采集知识

Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。  一、Video for Linux two  在Linux下,所有

2013-03-02 19:13:08 4013

转载 android 电源管理

1.     介绍.... 42.     电池管理.... 42.1.      FrameWork.. 52.1.1.       监听... 52.1.1.1.     UEventObserver的实现... 62.1.1.2.     uevent 82.1.2.       状态读取... 92.1.3.       更新显示... 92.2.

2013-03-02 19:09:12 3482

转载 android 2.3 ethernet

用过Android手机的人都知道, 如果附近有wifi信号, 当使能Wifi的时候, 系统就会通过wifi联网, 当wifi信号消失或者你手动禁止wifi的时候, 系统就会通过Mobile手机网络上网。       这就引出了网络管理的概念, 当有很多网络可用的时候, 系统要决定通过哪个网络联网。 当一个当前突然断开时, 系统要想办法通过其它途径联网。 Android系统中对支持的网络并不是公

2013-03-02 19:05:02 2265

转载 ext4格式的 system.img 怎么修改

$file system.img就可以看到这个文件是个什么格式的了system.img: Linux rev 1.0 ext4 filesystem data..gingerbread的system.img缺省是ext4格式的,使用mount命令将system.imgmount到某个目录下,然后用编译android framework时生成的make

2013-03-02 18:28:03 6277

转载 android自动屏幕旋转流程分析

在android设置(Settings)中我们可以看到显示(display)下有一个自动屏幕旋转的checkbox,如果我们勾选checkbox的话当你手机屏幕就会根据重量自动旋转,那么我们就分析一下这个过程:在Display_settings.xml文件中我们可以找到:android:key="accelerometer"and

2013-03-02 18:23:29 9313

转载 Android系统默认值的设置

原文链接地址:http://blog.csdn.net/bingking88/article/details/8558221项目接近尾声,今天恰好也要初始化一下系统里的默认值,google了一下,有时就得做个拿来主义,没有时才自己做轮子滴嘛,呵呵1开机图片:  android-logo-mask.png  android-logo-shine.png  这两个图片一个在上一

2013-03-02 18:22:37 903

转载 android 按键处理

原文地址链接:http://blog.csdn.net/bingking88/article/details/8517953移植android的键盘和按键(1)Android使用标准的linux输入事件设备(/dev/input目录下)和驱动,按键定义在内核include/linux/input.h文件中,按键定义形式如下:#define KEY_ESC            1

2013-03-02 18:20:59 1726

转载 android 3g

一、pppd相关文件     Android ril相关的代码和脚本主要有:   android/hardware/ril/reference_ril/   (reference_ril.c)   android/hardware/ril/rild   android/extern/ppp/pppd   android/extern/ppp/chat   android

2013-03-02 11:15:41 1150

转载 Linux ALSA声卡驱动

一.  概述    ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。    在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,

2012-12-10 13:08:08 2226

转载 IO / Linux系统对IO端口和IO内存的管理

一、I/O端口      端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。 二、IO内存       例如,在PC上可以插上

2012-12-10 12:59:28 560

转载 Android系统的开机画面显示过程分析

好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺。提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了。Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段。本文将详细分析这三个开机画面的显示过程,以便可以开启我们对Android系统UI实现的分析之路。

2012-12-09 21:51:53 925

转载 Linux那些事儿之我是Hub(9)While You Were Sleeping(二)

老实说,从函数一个开始的598行直到627行都没有什么可说的.其中需要一提的是,606行,调用usb_buffer_alloc()申请内存,赋给hub->buffer.614行,调用kmalloc()申请内存,赋给hub->status.622行,调用kmalloc()申请内存,赋给hub->descriptor.当然也别忘了这中间的某行,初始化一把互斥锁,hub->status_mutex.以后

2012-11-30 23:06:45 3884

转载 Linux那些事儿之我是Hub(8)While You Were Sleeping(一)

最近看了热播的电视剧>,赵宝刚导演的转型之作.里面李小璐和文章演的那对小夫妻甚是搞笑.这部片子其实号称励志篇但实际上一点也不励志,就是搞笑,像我这种严肃的人向来不喜欢这些搞笑,不过里面李小璐扮演的杨晓芸对文章演的那个向南的一番对话倒是让我觉得颇为感慨.杨晓芸一心希望向南能够有理想有目标,而向南却非常满足于现状,而这种矛盾间接导致了杨晓芸对丈夫的失望并且最终两个人走向了离婚.其实我就是一个没有目标的

2012-11-30 22:46:50 1404

转载 Linux那些事儿之我是Hub(7)

朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其它系统产生相应的变化,由此引起连锁反应,最终导

2012-11-30 22:46:13 543

转载 Linux那些事儿之我是Hub(6)

话说因为hub驱动无所事事,所以hub_thread()进入了睡眠,直到某一天,hub_probe被调用.所以我们来看hub_probe().这个函数来自drivers/usb/hub.c,其作用就如同当初我们在usb-storage中的那个storage_probe()一样.    887 static int hub_probe(struct usb_interface *intf,

2012-11-30 22:45:01 762

转载 Linux那些事儿之我是Hub(5)

hub_thread()中还有一个函数没有讲.它就是try_to_freeze().这是电源管理相关的.对大多数人来说,关于这个函数,了解就可以了.以下的内容就当科普性质吧,也算哥们儿为奥运做点贡献,提高国民科学文化知识水平.随着Linux开始支持suspended之后,西方的资本家们提倡,每一个内核进程都应该在适当的时候,调用try_to_freeze().什么意思呢?有这样一个flag,PF_

2012-11-30 22:43:59 1126

转载 Linux那些事儿之我是Hub(4)

这一节我们讲队列.从前在乡下的时候是不用排队的,村里的人们都很谦让,而且人本来又不多.后来到了县城里,县城里不大,大家去走亲戚去串门去逛街不用坐车不用排队,除了街上的游戏厅人多一点以外,别的地方人都不是很多,陪妈妈去菜市场买菜也不用排队.后来到了上海,发现去食堂吃饭要排队,开学报道要排队,在人民广场等回复旦的123路公共汽车要排队,考试成绩不好去教务处交重修费要排队,甚至连追求一个女孩子也

2012-11-30 22:42:53 1753

转载 Linux那些事儿之我是Hub(3)

usb_register()和usb_deregister()这两个函数我们当初分析usb storage的时候就已经见到过了.当时我们就说过了,这个函数是用来向usb核心层,即usb core,注册一个usb设备驱动的.那年我们注册了一个struct usb_driver usb_storage_driver.而这里我们注册的是hub的驱动程序所对应的struct usb_driver结构体变量

2012-11-30 22:41:25 1545

转载 Linux那些事儿之我是Hub(2)

莎士比亚曾经说过,不懂hub是怎么工作的就等于不知道usb设备驱动是怎么工作的.这句话一点没错,因为usb设备的初始化都是hub这边发起的,通常我们写usb设备驱动程序都是在已经得到了一个struct usb_interface指针的情况下开始probe工作,可是我要问你,你的struct usb_interface从哪来的?你以为你的设备天生丽质?长得比较帅?一插入usb口就有了?如果有人说是的

2012-11-30 22:40:40 811

转载 Linux那些事儿之我是Hub(1)

最早知道hub是在大学里,复旦的4人间宿舍,条件真好,每个人一张书桌,书桌下面一个网口,但是有时候网口坏了,那可急死人了,要知道当初我们买电脑初衷虽说是为了学习C语言,可是买了之后,C倒是没学,先学了CS.printf还没学会呢,倒是先学会了怎么在CS里喊go go go, fire in the hole!网口坏了就意味着CS不能玩了,当时对人生真的很绝望,后来有人介绍,说6楼几个哥们也有这种情

2012-11-30 22:39:50 980

转载 usb驱动程序分析

usb驱动是linux内核中比较复杂的驱动之一,因此,大多数usb教程建议从usb-skeleton开始学习usb驱动。个人认为这是相当正确的,usb-sekelton提供了一个usb驱动开发的模板,而且代码量较少,很适合初学者的学习。    记住,对于c语言的程序设计说,数据结构是整个程序的灵魂。因此,分析别人编写的代码的简洁的入口点就是高清代码中主要数据结构之间的关系。分析以usb-ske

2012-11-30 17:45:00 1262

转载 Android深入浅出之Audio第三部分Audio Policy[1]

转自:http://blog.csdn.net/innost/article/details/6158960Android深入浅出之Audio第三部分Audio Policy[1]一目的上回我们说了AudioFlinger(AF),总感觉代码里边有好多东西没说清楚,心里发毛。就看了看AF的流程,我们敢说自己深入了解了Android系统吗?AudioPolicyService(APS

2012-11-09 20:11:07 765

转载 Android深入浅出之Audio 第一部分 AudioTrack分析

转自:http://blog.csdn.net/innost/article/details/6125779Android深入浅出之Audio第一部分 AudioTrack分析一 目的本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如Thread,MemoryBase等。分析的流程是:l 先从API层对应的

2012-11-09 20:07:16 3506

转载 Android深入浅出之Audio 第二部分 AudioFlinger分析

转自:http://blog.csdn.net/innost/article/details/6142812一目的本文承接Audio第一部分的AudioTrack,通过AudioTrack作为AF(AudioFlinger)的客户端,来看看AF是如何完成工作的。在AT(AudioTrack)中,我们涉及到的都是流程方面的事务,而不是系统Audio策略上的内容。WHY?因为AT是AF

2012-11-09 20:02:03 11875 1

转载 Android设备节点的动态管理

转自:http://blog.csdn.net/xiyu_1986/article/details/7173075在Android中,没有独立的类似于udev或者mdev的用户程序,这个功能集成到了init中做了。代码见:system/core/init/init.c文件,如下:if (ufds[0].revents == POLLIN)handle_device_fd(device_

2012-08-26 00:37:53 744

转载 Android如何生成设备节点

转自:http://blog.csdn.net/xiyu_1986/article/details/7173090在Android中,由于没有mdev和udev,所以它没有办法动态的生成设备节点,那么它是如何做的呢?我们可以在system/core/init/下的init.c和devices.c中找到答案:init.c中int main(int argc, char **argv)

2012-08-26 00:36:55 976

转载 分析Android 根文件系统启动过程(init守护进程分析)

转自:http://blog.csdn.net/xiyu_1986/article/details/7173096今天开始分析Android 根文件系统启动过程。在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Readthe F

2012-08-26 00:35:21 619

转载 Android Sensor传感器系统架构初探

转自:http://blog.csdn.net/xiyu_1986/article/details/71731401. 体系结构2. 数据结构3. 四大函数本文以重力感应器装置G-sensor为例探索Android的各层次结构。1. 体系结构    Android的体系结构可分为4个层次。第一层次  底层驱动层,包括标准Linux,Android核心驱动,A

2012-08-26 00:32:50 655

转载 Android多点触摸的实现

转自:http://blog.csdn.net/xiyu_1986/article/details/6997078第一章 摘要 在Linux内核支持的基础上,Android在其 2.0 源码中加入多点触摸功能。由此触摸屏在 Android的 frameworks被完全分为 2 种实现途径:单点触摸屏的单点方式,多点触摸屏的单点和多点方式。 第二章 软件位

2012-08-26 00:27:41 715

转载 Android 多点触摸接口

转自:http://blog.csdn.net/xiyu_1986/article/details/6996977简介   为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。使用说明  单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH、ABS_X、ABS_

2012-08-26 00:24:46 446

转载 linux开机logo 和 android开机logo 的修改

转自:http://blog.csdn.net/xiyu_1986/article/details/6610830一.设置LINUX内核启动LOGO     1、让内核支持启动LOGO         在内核目录中 make menuconfig         Device Drivers ---->   Graphics support ---->

2012-08-26 00:22:48 642

转载 linux i2c

转自:http://blog.csdn.net/xiyu_1986/article/details/65798241 Linux I2C驱动架构Linux下I2C驱动的架构图如下: 图1.1 Linux下I2C驱动架构    如上图所示,每条I2C总线会对应一个adapter,而每条I2C总线上则可以有多个 client,在linux kernel中,通过I2C cor

2012-08-26 00:14:14 2070

转载 中断中处理延时及一些函数的调用规则(中断调i2c驱动有感)

转自:http://blog.csdn.net/xiyu_1986/article/details/69969271,中断处理程序中不能使用有睡眠功能的函数,如ioremap,kmalloc,msleep等,理由是中断程序并不是进程,没有进程的概念,因此就没有休眠的概念;2,中断处理程序中的延时可以用忙等待函数来代替,如ndelay,udelay,mdelay等,这些函数在实现上本质是根据

2012-08-26 00:08:55 4566 2

原创 内核态和用户态通讯知识收集

在一台运行   Linux   的计算机中,CPU   在任何时候只会有如下四种状态: 【1】   在处理一个硬中断。 【2】   在处理一个软中断,如   softirq、tasklet   和   bh。 【3】   运行于内核态,但有进程上下文,即与一个进程相关。 【4】   运行一个用户态进程。   1.  Linux中的进程间通信机制源自于Unix平台上的进程通信机制

2012-08-11 16:51:45 4751

转载 #、##和__VA_ARGS__

转自:http://www.cnblogs.com/zhujudah/archive/2012/03/22/2411240.html1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).#i

2012-08-11 16:22:22 490

原创 1,1,2,3,5,8,13,21......求任意项的值

......... unsigned long arr_value();int main(int argc,int *argv[]){int j=0;unsigned long n1=1,n2=1;unsigned long an=n1+n2;if(argc==1){ printf("value [nth]\n");}else if(argc==2)

2012-08-06 11:26:18 985

空空如也

空空如也

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

TA关注的人

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