自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

颇锐克

stay hungry stay foolish

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

转载 android的gralloc分析

Android 中 lcd 是一个帧缓冲设备,驱动程序通过处理器的 lcd 控制器将物理内存的一段区域设置为显存,如果向这段内存区域写入数据就会马上在 lcd 上显示出来。Android 在 HAL 中提供了gralloc 模块,封装了用户层对帧缓冲设备的所有操作接口,并通过 SurfaceFlinger 服务向应用提供显示支持。在启动过程中系统会加载 gralloc 模块,然后打开帧缓冲设备,获

2015-12-25 19:15:55 697

转载 linux设备驱动

前言:(总结已经基本写完,这段时间我会从新排版和修正。错误总会有的,望能指正!)前段时间学习了嵌入式驱动,趁着没开始找工作,这段时间我会每天抽出时间来复习。我的总结是根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一版来归纳的。文章中涉及一些自己的想法,并不能保证所说的一定正确。我也

2015-12-23 20:57:58 470

转载 android surfaceflinger研究----显示系统, Surface机制, SurfaceFlinger loop

转载自http://blog.csdn.net/windskier/article/details/7030732    这周抽空研究了一下SurfaceFlinger,发现真正复杂的并不是SurfaceFlinger本身,而是android的display显示系统,网上关于这部分的介绍有不少,本不打算写的,但是发现还是记录一下研究代码的过程比较好,一是能够帮助自己理清思路,另一个原因就是以后

2015-12-23 17:04:47 1950

转载 ION概念及原理

ION将内核态形形色色的内存分配纳入统一的管理接口之中,更重要的设计意图是为内存在不同用户态进程之间传递和访问提供了支持。每个ion_buffer与一个struct file关联,其handle纳入进程file desc空间而不是/dev/ion设备内单独的handle空间,方便之处如下:每个buffer一个handle,便于更灵活地细粒度地控制每个buffer的使用周期;向用户进程输

2015-12-17 18:08:24 2045

转载 高通平台 graphics图形架构

Android display system introduce(Qualcomm 8x60 platform)(二、SW架构--1)2010-12-31 11:17一、Overview    上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会

2015-12-17 09:06:16 2779

转载 strcmp

头文件:#include strcmp() 用来比较字符串(区分大小写),其原型为:    int strcmp(const char *s1, const char *s2);【参数】s1, s2 为需要比较的两个字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0

2015-12-16 11:07:21 321

转载 fgets

来说一说fgets(..)函数。    原型  char *  fgets(char * s, int n,FILE *stream);    参数:         s: 字符型指针,指向存储读入数据的缓冲区的地址。         n: 从流中读入n-1个字符         stream : 指向读取的流。   返回值:          1. 当n     

2015-12-16 11:03:34 3625

转载 snaprintf

int snprintf(char *restrict buf, size_t n, const char * restrict  format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。Result1(推荐的用法)#include

2015-12-16 10:55:09 290

转载 fopen()

1.2 文件的输入输出函数 键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁盘文件的情况。 另外, Turbo C2.0提供了两类关于文件的函数。一类称做标准文件函数也称缓冲型文件函数,

2015-12-16 10:52:30 891

转载 Android4.4 meminfo 实现分析

Android 4.4 meminfo 实现分析Posted byRogeron 2014 年 3 月 24 日 Android提供了一个名为meminfo的小工具帮助应用分析自身的内存占用,并且在4.4还新增了memtrack HAL模块,SoC厂商通过实现memtrack模块,让meminfo可以获取GPU相关的一些内存分配状况。了解meminfo的实现,对我们更深

2015-12-15 16:21:37 672

转载 android_os debug 函数

android.os类 Debugjava.lang.Object android.os.Debugpublic final class Debugextends ObjectProvides various debugging functions for Android applications, including tracing and allocation

2015-12-15 14:36:33 1001

转载 android 窗口管理

一、 概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。 在Client端,并不是直接和WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由WindowManager完成和WindowManag

2015-12-10 13:45:18 313

转载 ViewRotImpl

从上两篇博客《从setContentView方法分析android加载布局流程》 和《从LayoutInflater分析XML布局解析成View的树形结构的过程》 中我们了解到Activity视图UI是怎么添加到Activity的根布局DecorView上面的。我们知道Activity中的PhoneView对象帮我们创建了一个PhoneView内部类DecorView(父类为Frame

2015-12-10 09:58:38 389

转载 abdroid hwui

Android 4.4 Graphic系统详解(4)HWUI概述2015-01-28 17:48 2360人阅读 评论(0)收藏 举报分类: android graphic(7) 目录(?)[+]1 概述Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特

2015-12-09 21:10:36 1115

转载 线程追踪方法

翻译说明:这是一个日本人写的用户态下的函数tracer, 我们知道系统调用可以用strace, 库调用可以使用ltrace, 但是linux下竟然没有一个比较有名的用户程序的tracer, 这真是比较奇怪。这个工具好的地方就是用ptrace系统调用来实现,只要跟踪的程序没有被strip,就可以使用,而不要重新编译程序。而另一种函数跟踪的方式(使用gcc -finstruction-functi

2015-12-08 21:17:37 2923

转载 strace追踪多线程程序

方法一先用ps -mp pid或者top -H查出线程pid。然后strace -p pid追踪其中一个线程。方法二直接用strace -fp pid追踪进程下所有线

2015-12-08 21:03:37 9196

转载 ubutu 软件安装路径查找

Ubuntu软件安装位置   Ubuntu软件安装位置,一般都在/usr/bin下,个别可能会安装到/usr/share和/usr/local里,      一、查看软件安装的所有路径:要知道文件都安装在哪些地方、放在哪些文件夹里,可以通过whereis 软件名的命令查看所有的文件路径,比如你想查找google-chrome文件,那么就:whereis google-chrome

2015-12-08 16:26:31 647

转载 thread 源码分析

线程是程序的一个执行流程,Java虚拟机允许多个线程同时并发执行。1. 构造方法Java代码  public Thread() {      init(null, null, "Thread-" + nextThreadNum(), 0);  }    // target - 任务  public Thread(Runnable target) {      ini

2015-12-08 15:36:17 316

转载 android系统中log机制

Android提供了用户级轻量的LOG机制,它的实现贯穿了Java,JNI,本地c/c++实现以及LINUX内核驱动等Android的各个层次,而且足够简单清晰,是一个相当不错的解读案例。本系列文章针对LOG机制的内部实现机理进行解读,本文是系列的第一篇,解读LOG机制的实现架构。(1)LOG的实现架构LOG的运行环境    下图是Android官方网站上给出的Androi

2015-12-08 09:58:54 5946 1

转载 ARM寻址方式及相关指令汇总

1、寻址方式所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。(1)立即寻址也叫立即数寻址,这是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数。这个操作数被称为立即数,对应的寻址方式也就叫做立即寻址。例如以下指令:[plain] view plaincopyADD R0,R0,#1 ;R0←R0+1  ADD R

2015-12-04 09:30:24 969

转载 堆和栈

堆和栈的区别一、程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(st

2015-12-04 09:26:19 302

转载 android 生成的.so 调试方法

readelf显示目标ELF文件的信息,比如信赖库,头信息,段信息等。addr2line用户进程崩溃时内核会记录一些基本的调试信息,如果进程执行的ELF文件包含调试符号,就可以通过addr2line找到源文件中哪一行出问题。我在调试Android的VM崩溃问题时使用到了这个工具(详细过程参考这里http://blog.csdn.net/a345017062/archive/2011/0

2015-12-04 09:19:41 935

转载 回调函数

什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数   因为使用回调函数可以把调用者和被调用者分开,调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。回调函数就好像是一个中断

2015-12-04 09:16:55 384

转载 Mutex::AutoLock

互斥类—MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源。在《Windows核心编程》①一书中,对于这种互斥访问有一个很形象的比喻:想象你在飞机上如厕,这时卫生间的信息牌上显示“有人”,你必须等里面的人出来后才可进去。这就是互斥的含义。下面来看Mutex的实现方式,它们都很简单。(1)Mutex介绍其代码如下所示:[-->Threa

2015-12-04 09:12:35 727

转载 GPU基础知识

由于在读ASPLOS 13` GPUfs这篇文章,其中提到很多GPU特点,查了些资料,在这里简单总结一下。GPU特点1. 高吞吐量2. 拥有数百个硬件处理单元,性能达到1Tflops3. 每个处理单元深度多线程,即使有的线程被stall了,GPU还能够继续正常执行。4. 高memory带宽GPU发展和现状1. GPU原来就是为了加速3D渲染的,后来被拿过来做计算。2

2015-12-03 20:53:37 5090

转载 android 的init.rc

init.rc由许多的Action和Service组成。每一个语句占据一行,并且各个关键字被空格分开.由 # (前面允许有空格)开始的行都是注释行(comment)一个actions 或 services 的开始隐含声明了一个新的段,所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 options 都会被忽略每一个action

2015-12-03 14:02:40 387

转载 EGL

EGL 是 OpenGL ES 和底层 Native 平台视窗系统之间的接口。本章主要讲述 OpenGL ES 的 EGL API ,以及如何用它创建 Context 和绘制Surface 等,并对用于 OpenGL 的其他视窗 API 做了比较分析,比如 WGL 和 GLX 。本章中将涵盖如下几个方面:         EGL 综述         EGL 主要构成( Dis

2015-12-03 10:54:40 587

空空如也

空空如也

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

TA关注的人

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