自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 11

String hostname = mHostnameField.getText().toString().trim(); String portStr = mPortField.getText().toString().trim(); String exclList = mExclusionListField.getText().toString().trim()

2013-12-19 15:37:34 1276

原创 11

#ifdef __cplusplusstruct private_handle_t : public native_handle {#elsestruct private_handle_t { struct native_handle nativeHandle;#endif enum { PRIV_FLAGS_FRAMEBUFFER = 0x000

2013-12-11 09:45:39 700

原创 linux的system () 函数详解

linux的system () 函数详解system(执行shell 命令)相关函数        fork,execve,waitpid,popen表头文件        #i nclude定义函数        int system(const char * string);函数说明

2013-09-24 15:22:54 723

转载 android surfaceflinger研究----SurfaceFlinger loop .

上一篇文章介绍了整个Surface机制(我是这么称呼的,主要是Surface的建立,Surface的显示存储的管理),同时我们也介绍过了整个显示系统,那么这篇文章就介绍一下SurfaceFlinger 这个核心服务层的机制。    从代码中我们可以看出SurfaceFlinger 是一个thread,运行在system_server进程中,并且其threadLoop()方法的返回值为true,

2013-09-14 13:36:26 833

原创 git建仓提交代码和vnc

1.  github建仓,上传初始化代码,后发现 一直有  modified content, 最后发现是一个文件夹多了个  .git 2. 我到ipad也可以连接vnc来。安装包sudo apt-get install vnc4server设置密码Password: ******Verify:*****注意端口号vncserver      

2013-09-03 01:10:29 1758

原创 ubuntu 与 win共享

1. 设置 文件共享2. 在网络中有共享文件,可以映射

2013-09-01 15:40:24 592

原创 arm-linux-gcc

exportPATH=$PATH:/usr/local/arm/4.4.3/bin是设置当前用户的PATH,而sudo执行make的时候,使用的是超级用户权限,那也就使用了超级用户的PATH(但是这个PATH里,并没有/usr/local/arm/4.4.3/bin) 解决方法:1.先打开一个超级用户权限的shell:     命令:sudo–s2.在当前shell下,设置

2013-09-01 14:42:40 644

转载 [系统学习] wakelock学习

Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.(一).内核维护了:1).两个链表,active_wake_locks[WAKE_LOCK_TYPE_COUNT]active_wa

2013-08-28 10:19:36 659

原创 Makefile 25个函数列表与举例

字符串处理函数1、subst$(subst ee,EE,feet on the street),把“feet on the street”中的“ee”替换成“EE”,返回结果是“fEEt on the strEEt”。 2、patsubst$(patsubst %.c,%.o,x.c.c bar.c)把字串“x.c.c bar.c”符合模式[%.c]的单词替换成[%.o

2013-08-22 14:43:08 832

转载 Makefile 学习

四、foreach函数 foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是:     $(foreach ,,) 这个函数的意思是,把参数中的单词逐一取出放

2013-08-21 13:53:02 570

转载 Activity-Bundle savedInstanceState的作用

写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数savedInsanceState。因为在一般的程序开发中,很少用到这个参数。onCreate方法的完整定义如下:public void onCreate(Bundle sa

2013-08-15 17:40:29 724

转载 CAN、I2S、I2C、SPI、SSP总线简介

一、SPI总线说明串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI 用于CPU与各种外围器件进行全双工、同步串行通讯。SPI可以同时发出和接收串行数据。它只需四条线就可以完成MCU与各种外围器件的通讯,这四条

2013-04-12 15:34:54 1756

转载 android进程创建分析

摘要         本文主要分析了当前热门手机平台android系统的进程创建分析。先简单介绍android的技术架构,然后概述android启动新程序的整体流程,接着详细分析程序启动中的进程创建。在分析中辅以代码解析,从而让读者能较为清晰的了解到android时如何通过进程创建来启动新程序的。Android架构         android是世界上最受欢迎的手机平台。它以linu

2013-01-14 19:22:21 522

转载 Android中休眠与唤醒之wake_lock, early_suspend, late_resume

最近研究如何让Android不休眠。听组里人说,机器在充电的时候不休眠。我试了一下,确实是,串口可以使用(CONFIG_PM_DEBUG并没有打开)。这个时候,LCD显示屏是休眠了,触摸屏也休眠了,其他的比如重力传感器等就没有看了,但是标准的Linux系统并没有进入休眠。看了网上好多关于Android系统的休眠与唤醒例子,感觉有些懵懵懂懂的。于是,还是看内核代码吧。        An

2012-12-10 09:53:36 850

原创 android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)

一:点亮lcd inkernel其实点亮lcd很简单必须保证以后几个步骤正确:1:确认Lcd信息所在文件被编译进去,并且lcd 和board name里面注册一质,倘若这部正确,那么log里面应该有对应分辨率的一段framebuffer同时调到相对应的power_on函数。对于lcdc panel对应文件在lcdc_xx.c,对于mipi panel对应文件在mipi_xx.c(下序列操作

2012-12-07 15:08:57 2310 1

原创 Triple Buffering

三重缓冲                   是一种图象处理技术Triple Buffering使用一个前置缓存和两个后置缓存。在着色完第一个后置缓冲区的数据后,立即开始处理第二个后置缓冲区。今天,不少新游戏都采用的是Triple Buffering,Trible Buffering正逐渐成为发展的趋势,因为它没有Vsync(萤幕的垂直刷新频率)等待的时间,游戏也将更加流畅。Tripl

2012-12-06 19:02:29 1918

转载 LCD驱动及Framebuffer相关

内容提要:1. android display相关的名词2. 调试LCD驱动需要注意的步骤3. 关于帧缓冲区及I/O内存------------------------------------------------------------------------------------------1.名词解释GPU:Graphic Processing Unit (图

2012-12-06 15:23:43 1865

转载 Android SDCard Mount

前段时间对Android 的SDCard unmount 流程进行了几篇简短的分析,由于当时只是纸上谈兵,没有实际上的跟进,可能会有一些误导人或者小错误。今天重新梳理了头绪,针对mount的流程再重新分析一次。本篇大纲android 系统如何开机启动监听mount服务默认挂载点在Android 系统的哪个目录vold.fstab 配置文件的分析 vold 里面启动页面main做了些

2012-08-07 15:10:55 1283

转载 USB描述符

USB是个通用的总线,端口都是统一的。但是USB设备却各种各样,例如USB鼠标,USB键盘,U盘等等,那么USB主机是如何识别出不同的设备的呢?这就要依赖于描述符了。    USB的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID描述符,报告描述符等等。    一个USB设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配

2012-06-19 19:45:01 797

转载 Android 设备侧usb驱动开发

设备初始化:/kernel/arch/arm/mach-msm/board-msmxxxx.cUSB驱动文件文件:/kernel/drivers/usb/gadget/android.c-------复合设备,所有的f开头的接口设备向android.c注册,由android.c控制enable/disable/kernel/drivers/usb/gadget/f_mass_sto

2012-06-19 19:43:02 3310

转载 sysfs接口函数到建立_DEVICE_ATTR

sysfs接口函数到建立_DEVICE_ATTR 最近在弄Sensor驱动,看过一个某厂家的成品驱动,里面实现的全都是sysfs接口,hal层利用sysfs生成的接口,对Sensor进行操作。说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR原型是#define DEVICE_ATTR(_name, _mode, _show, _store)\s

2012-05-30 14:32:14 2500

转载 高通平台android开发总结

1、高通平台android开发总结1.1 搭建高通平台环境开发环境在高通开发板上烧录文件系统建立高通平台开发环境高通平台,android和 modem 编译流程分析高通平台 7620 启动流程分析qcril 流程分析,设置sim卡锁python scons 语法学习Python 语言之 scons 工具流程分析:1.2 搭建高通平台环境开发环境高通and

2012-05-24 17:24:46 9097

转载 recovery

昨天大家问recovery怎么工作的,差不多花了俩小时看了下这个东西肯定是要bootloader支持的,因为bootloader要选择启动哪个kernel和ramdisk所以是平台相关的。这里可以从上往下看,也可以从下往上看。我们先从上往下吧多年不做,好在以前做bootloader和kernel的基础还在。还比较容易找。Setting里面我们可以选择恢复出厂

2012-05-23 09:04:53 1104

转载 Android OTA 升级之五:updater

2011-03-15 20:144164人阅读评论(7)收藏举报Android OTA 升级之五:updater作者: 宋立新Email:zjujoe@yahoo.com前言       可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型

2012-05-11 12:00:22 867

转载 Android OTA 升级之四:进入根文件系统

Android OTA 升级之四:进入根文件系统作者: 宋立新Email:zjujoe@yahoo.com前言       从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。       下面,我们就看看进入Reco

2012-05-11 11:59:36 1116

转载 Android OTA 升级之三:生成recovery.img

2011-03-08 08:206836人阅读评论(1)收藏举报Android OTA 升级之三:生成recovery.img作者: 宋立新Email:zjujoe@yahoo.com前言       得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决

2012-05-11 11:58:50 867

转载 Android OTA 升级之二:脚本 ota_from_target_files

前言       前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。先看一下帮助不带任何参数,先看一下它的帮助:$ ./ota_from_target_files     Given a target-files zipfile, produces an OTA

2012-05-11 11:57:35 965

转载 Android OTA 升级之一:编译升级包

Android OTA 升级之一:编译升级包 前言       OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。       这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。如何执行升级就不多说了,网上有很多资料。(比如,介绍HTC手机如何升级)。我们感兴趣的是它是如何

2012-05-11 11:55:51 802

转载 android2.3.4 OTA包的生成研究

2012-01-30 11:57641人阅读评论(0)收藏举报     版本:android2.3.4主要文件:build/core/Makefile    build/tools/releasetools/ota_from_target_files第一阶段:update原材料目录生成,作为第二阶段的输入。build/core/Makefile  +line 1118  ~

2012-05-11 11:12:06 1216

转载 Android 的recovery模式分析

Recovery Binary:  Recovery Binary 是 Android 进入 Recovery 模式所运行的程序,实现了 Recovery 模式下的功能。它由目录 bootable/recovery 下的源代码编译生成。头文件 bootable/recovery/recovery_ui.h 定义了 Recovery UI 的接口,bootable/recovery/defa

2012-05-11 11:03:25 898

转载 update-script脚本语法说明(根据android源代码中的recovery.c进行的定义)

update-script脚本语法说明(根据android源代码中的recovery.c进行的定义):1.copy_dir语法:copy_dir []表示原文件夹,表示目的文件夹,[]表示时间戳作用:将文件夹中的内容复制到文件夹中。文件夹中的原始内容将会保存不变,除非文件夹中有相同的内容,这样中的内容将被覆盖举例:copy_dir PACKAGE:system SY

2012-05-10 14:51:47 1377

转载 电子罗盘HAL层分析

文件位置:hardware/msm7k/libsensors/akmSensors.cpp         这里分析过程主要关注ioctl中数据流向,其他的可以根据一般的hal层分析方法进行学习。         HAL层的框架文件是xxsensor.cpp和sensors.c,主要是针对sensors.h(谷歌定义的抽象类)的具体实现,并通过继承的机制实现了各种sensor的多态。4

2012-04-27 16:37:37 1251

转载 电子罗盘Kernel层分析

电子罗盘的流程顺序涉及到第三方库的调用,以及g-sensor数据的获取,因此需要externel中库文件的支撑。         目前以akm8975c数据为例子,首先modify的文件位置大致在3个文件夹中Hal层External层Kernel层Kernel层驱动1、  Kernel层驱动分析文件位置:kernel\drivers\misc\xx_compass_

2012-04-27 16:36:57 1131

转载 Android AudioPolicyService和AudioPolicyManager

AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有 MediaSever加载,加载的代码位于:frameworks\base\media\mediaserver \main_mediaserver.cpp。AudioFlinger主要负责管理音频数据处理以及和硬件抽象层相关的工作。本文主要介绍 Audio

2012-04-25 19:18:00 604

转载 如何在ANDROID JNI 的C++中打Log

最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat却看不到任何输出,换成LOGI、LOGV、LOGW、LOGE也没有效果。于是在网上查找解决方法,经过几次试验,终于找到了,现在贴到下面备忘:第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog第二步:在要使用LOG

2012-04-24 19:07:48 1446

转载 MSM7627的内存分布图

有Android手机的童鞋们可能经常会有这样的疑问,为什么我的G2手机明明是256M的内存,可用任务管理器或者free之类的命令,看到的实际值会远远小于256。看到网上的很多误导言论,这里我给大家澄清一下吧:    无图无真相,贴张MSM7627的内存分布图,一目了然:      由上图可以看到,内存主要分给modem/bootloader/SMEM

2012-04-17 15:49:54 1581 1

转载 msm7227平台linux I2C驱动分析

目录1. 摘要 32. 简介 33. I2C架构 34. I2C总线初始化 45. I2C适配器驱动 56. I2C设备驱动 97. 用户空间驱动支持 128. 数据传输框架 169. References 161. 摘要主要介绍Msm7227平台上I2C驱动原理,多数部分是29内核标准架构。2. 简介I2C只有两条线,一条串行数据线:SDA

2012-04-16 11:55:10 973

转载 高通Android display架构分析

Android display架构分析(一) 高通7系列硬件架构分析如上图,高通7系列 Display的硬件部分主要由下面几个部分组成:A、MDP高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩小、旋转等。MDP内部的MDP DMA负责数据从DDR到MDDI Host的传输(可以完成RGB之间的转换,如RGB565转成R

2012-04-13 15:37:31 4126

转载 MSM7227A使用gpio-I2C的修改点

scene:蓝牙设备使用了普通gpio来模拟i2c接口,使用了管脚76和80)1.       Modem部分修改文件:1)       TLMMBspMsm_XXX.h该文件定义了各个gpio的默认设置,如是否上拉,需要确认BSP_GPIO_OUT_76 = GPIO_CFG(76, 0, BSP_GPIO_OUTPUT, BSP_GPIO_NO_PULL, BSP_GPIO

2012-04-12 14:59:54 971

转载 MMU的简单介绍

ARM的MMU的作用:负责虚拟地址与物理地址的转换。多进程(应用)的操作系统如WINCE,需要MMU才能达到每个用户进程都拥有自己独立的地址空间的目标。比如A进程在地址0x30000000映射了可执行文件(ADS链接的),而B进程也在0x30000000映射了可执行文件,如A进程读取 0x30000000的内容则为A进程映射到0x30000000的内容,而B进程读取0x30000000的内

2012-04-11 11:29:18 884

android network_provider

这是在Eclipse环境下开发的android应用程序,主要是实现了在室内定位,获取所在地的经纬度信息

2014-08-25

Android画折线图和柱状图

Android画折线图和柱状图---源码,源码中附有详细解释,能正确运行,还有程序效果图。

2013-11-16

空空如也

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

TA关注的人

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