自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Embeded system Development

阿凡提的窝

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

转载 自己动手编译Android内核-美化包

一直说想给用的G2编译一个Android的内核然后一直懒得研究,这几天装Gentoo倒腾PC的内核于是我说干脆手机也编译一个吧~(早已对CPU只有368-768-806MHz对选择表示十分不爽= =试着加一点中间档)准备工具链由于我们只需要编译内核而不需要依赖别的组件,所以对toolchain(NDK)的选择上宽松得多。大体来讲有这样几种可能性:自己编译arm-eabi的gcc toolc

2013-08-20 16:24:17 970

转载 SurfaceFlinger, shareclient, client

SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为Android应用程序服务的,因此,我们就从Android应用程序与SurfaceFlinger服务的关系入手,来概述和制定SurfaceFlinger服务的学习计划。

2013-08-19 13:40:55 983

转载 Android Launcher

一      Launcher  UI总体架构                  Home screen可以说是一个手机的最重要应用,就像一个门户网站的首页,直接决定了用户的第一印象。下面对home screen做一简要分析。home screen的代码位于packages/apps/Launcher目录。从文件launcher.xml,workspace_screen.xml可获

2013-08-16 16:22:34 1658

转载 Android核心分析(26)-----Android GDI之SurfaceFlinger

Android GDI之SurfaceFlingerSurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是:1) 将Layers (Surfaces) 内容的刷新到屏幕上2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。3)

2013-08-16 15:23:13 1080

转载 android binder机制之--(我是Server Porxy)

服务代理对象        上一篇android binder机制之--(我是Service Manager)我们学习了Service Manager(服务管家)在Android Binder中的作用——服务(Service)注册,服务(Service)查询和获取等功能。        我们知道Service Manager既是服务的管理对象,又是一个系统级的服务server(通过

2013-08-16 12:10:27 657

转载 Android - Binder机制 - ProcessState和IPCThreadState

以下几篇文章是较深入分析binder机制。目录1. Android - Binder机制 - ServiceManager2. Android - Binder机制 - 普通service注册3. Android - Binder机制 - 获得普通service4. Android - Binder机制 - client和普通service交互5. Androi

2013-08-16 11:35:30 630

转载 Android应用程序与SurfaceFlinger服务的连接过程分析

前文在描述Android应用程序和SurfaceFlinger服务的关系时提到,每一个有UI的Android应用程序都需要与SurfaceFlinger服务建立一个连接,以便可以通过这个连接来请求SurfaceFlinger服务为它创建和渲染Surface。在本文中,我们将以Android系统的开机动画应用程序为例,详细描述Android应用程序是如何与SurfaceFlinger服务建立连接的。

2013-08-15 14:36:05 924

转载 利用 GDB Debug Android SurfaceFlinger

gdbclient相关文件:android-4.1.1_r1/build/envsetup.sh function gdbclient(){ local OUT_ROOT=$(get_abs_build_var PRODUCT_OUT) local OUT_SYMBOLS=$(get_abs_build_var TARGET_OUT_UNSTRIPPED)

2013-08-14 18:12:18 1214

转载 ARM Linux 3.x的设备树(Device Tree)

1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach

2013-08-14 16:10:13 795

转载 ftrace 简介

ftrace 的实现研究 tracer 的实现是非常有乐趣的。理解 ftrace 的实现能够启发我们在自己的系统中设计更好的 trace 功能。ftrace 的整体构架Ftrace 的整体构架:图 1. ftrace 组成Ftrace有两大组成部分,一是 framework,另外就是一系列的 tracer 。每个 tracer 完成不同的功能,它们统一由 framewo

2013-08-13 17:27:16 766

转载 Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析

在前面的一系列文章中,我们学习了Android应用程序与SurfaceFlinger服务的关系,以及SurfaceFlinger服务的启动过程、初始化硬件帧缓冲区的过程、线程模型。SurfaceFlinger服务所做的一切都是为了给Android应用程序提服务的,即为Android应用程序渲染它们的UI。在本文中,我们就详细分析SurfaceFlinger服务渲染Android应用程序UI的过程。

2013-08-13 16:48:35 1190

转载 伙伴系统分析

chipset: MSM8X25QCodebase: Android4.1Kernel: 3.4.0基本概念:         关于伙伴系统算法的原理还是比较好理解的,这里不作复数。直接看下关键数据结构。[html] view plaincopyprint?struct zone {  ~~snip           struct free_a

2013-08-13 16:43:44 1264

转载 bootmem allocator分析

Codebase: android 4.1Kernel: 3.4.0Chipset: msm8x25q在系统启动时,内存的伙伴系统/slab算法还没有初始化之前,系统也需要来作内存管理,分配一些核心数据结构,bootmem分配器就实现了该功能,它用于在启动阶段早期分配内存。Bootmem分配器使用位图来管理页,位图数量和系统的物理内存也数量是相同的。当页被使用时,就标记为1,否

2013-08-13 16:37:22 871

转载 SurfaceFlinger旋转流程分析

chipset: MSM8X25Qcodebase: Android4.1本文主要对SF(SurfaceFilnger)处理旋转事件的流程做个简单分析。GPU和mdp都可以用来旋转,文中对两者穿插说明。系统初始化会调用GraphicPlane::setDisplayHardware,此函数主要判断系统是否默认设置了rotation property值,如果有,则先保存下来。另外,SF是

2013-08-13 16:36:46 1973

转载 struct meminfo分析

Chipset:MSM8x25QCodebase:Android 4.1Linux Kernel: 3.4.0         在linux Kernel中,一开始内存相关的信息是由struct meminfo来保存的,每个物理连续的内存区域被保存为meminfo中的一个元素,也就是说在Linux使用中,整块物理内存可能是不连续的,可能其中某一中间区域是被其他cpu给使用掉了。

2013-08-13 16:36:17 786

转载 PMEM原理分析

Chipset:MSM8x25QCodebase:Android 4.1PMEM使用:PMEM使用比较简单,分单进程使用和共享进程使用同一块PMEM。单进程使用:1.      int master_fd = open(“/dev/pmem_xxx”,O_RDWR, 0);2.      然后再mmap就可以使用了。进程间共享PMEM:进程A:     

2013-08-13 16:35:45 1410

转载 ION原理分析

平台: MSM8x25Q系统: Android4.1从上一篇ION基本概念中,我们了解了heaptype, heap id, client, handle以及如何使用,本篇再从原理上分析下ION的运作流程。         MSM8x25Q平台使用的是board-qrd7627.c,ION相关定义如下:[html] view plaincopyprint?

2013-08-13 16:35:15 1492

转载 ION基本概念介绍

chipset: MSM8X25Qcodebase: Android 4.1ION概念:ION是Google的下一代内存管理器,用来支持不同的内存分配机制,如CARVOUT(PMEM),物理连续内存(kmalloc), 虚拟地址连续但物理不连续内存(vmalloc), IOMMU等。用户空间和内核空间都可以使用ION,用户空间是通过/dev/ion来创建client的。

2013-08-13 16:34:33 1105

转载 ARM Linux 3.x的设备树(Device Tree

宋宝华 Barry Song 1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/pla

2013-08-09 16:00:58 1052

linux-tools

asdfasdsdfasfasdfas

2008-02-13

空空如也

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

TA关注的人

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