- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 mx51的三个framebuffer,mxc_ipuv3_fb.c分析
mx51支持三个framebuffer:fb0, fb1, fb2/dev/graphics/fb0,/dev/graphics/fb1:一个作为系统的主framebuffer,另外一个作为TVOUT输出的framebuffer,缺省情况下,fb0做primary(也就是用来在primary LCD显示UI),fb1做secondary(也就是用来在TVOUT输出上显示数据)。根据
2011-11-26 17:36:02 8338 11
原创 mx51 IPU 透明处理
Freescale MX51平台的透明处理根据bpp(bits_per_pixel)不同,处理方式有所不同。透明处理涉及到两个图层的合并,这个合并操作是MX51 IPU的DP(Display process)模块来进行的。下图为mx51 datasheet中的DP 微观架构图上图的中Combining Unit就是用来实现两个图层的合并,DP有两个input FIFOs
2011-11-24 15:47:00 5413 2
原创 Android MediaPlayer 分析 - client库
Android Media文件的播放 录像 获取文件元数据,主要工作都放在MediaPlayer Service上,MediaPlayer client需要做的就是创建播放实例,设置媒体文件位置,发送播放 获取元数据和录像命令等。因此在了解MediaPlayer Service工作流程后,MediaPlayer client的代码就显得非常简单,客户端只是向上层提供了所有需要的接口
2011-11-19 17:36:15 1777
原创 MediaScanner分析 - MediaScanner.cpp
MediaScanner.cpp分析文件路径 frameworks/base/media/libmedia/MediaScanner.cppstatus_t MediaScanner::processDirectory( const char *path, const char *extensions, MediaScannerClient &cli
2011-11-19 17:35:32 2488
原创 Android MediaPlayer 分析 - service端文件结构
frameworks/base/media/libmediaplayerservice/ 目录是MediaPlayer 服务器端代码,实现了媒体播放,获取元数据,录像录音。MediaPlayerService主要实现在MediaPlayerService.cpp中,是服务器端媒体操作的主接口,MediaPlayerService根据客户端请求的操作类型不同,创建不同的client代理,跟Cli
2011-11-19 12:05:31 5238 5
原创 Android MediaPlayer 分析- MediaPlayerService.cpp
frameworks/base/libmediaplayerservice/MediaPlayerService.cpp因为工作的平台是mx51,所以分析的是mx51 10.3的代码,本文主要分析视频播放部分的代码,对于recorder和audio部分忽略掉。Mediaplayer service是一个系统服务,Android 视频播放,录音录像,元数据获取等客户端应用与Mediapl
2011-11-18 16:44:25 12763
原创 RTC何时更新系统时间
RTC - real time clock维护着系统的hardware时间,当linux启动时需要用RTC hardware时钟设置system 时间。这个过程是在drivers/rtc/hctosys.c驱动中实现的,这个驱动实际只有一个init函数,并且把自己的init 函数声明为late_initcall,这样可以保证RTC驱动已经正常运转。init函数从RTC设备读取当前硬
2011-11-09 18:37:15 7116
原创 Android wakelock的申请和释放
Android wakelock可以被内核空间和用户空间 申请和释放。申请的是非超时锁,需要相应的调用wake_unlock来释放,而超时锁则不需要手工释放(当然你也可以手工释放),超时后kernel系统会自动释放锁在内核空间可以直接调用wake_lock, wake_lock_timeout 申请锁Android kernel为用户空间提供了申请和释放wakelock的接口,实现在k
2011-11-08 16:05:03 13029
原创 如何让控制台信息输出到LCD上
就是让console信息同时输出到LCD:1. 编译内核,加入CONFIG_FRAMEBUFFER_CONSOLE=y2. 在uboot中加入console=tty0
2011-11-07 14:28:40 3151 1
原创 mkimage 使用说明
mkimage是在制作镜像文件时候, 在原来的image文件前增加一个0x40字节长度的头,增加的头结构描述如下/* * Legacy format image header, * all data in network byte order (aka natural aka bigendian). */typedef struct image_header { ui
2011-11-03 16:56:34 7409
原创 Android 源代码目录结构1 - bionic
Bionic是Android的C library。libc是GNU/Linux以及其他类Unix系统的基础函数库,最常用的就是GNU的libc,也叫glibc。Android之所以采用bionic而不是glibc,有几个原因:版权问题,因为glibc是LGPL库的体积和速度,bionic要比glibc小很多。提供了一些Android特定的函数,getprop LOGI等Bionic L
2011-11-02 11:19:20 6091
原创 Android 源代码目录结构2- build
|-- build| |-- buildspec.mk.default| |-- CleanSpec.mk| |-- core (android build system 的核心文件)| |-- envsetup.sh (用来设置一个方便的编译环境来处理源码,参照http://blog.csdn.net/kickxxx/article/details/69251
2011-11-02 09:47:20 2326
原创 Android 编译系统 - envsetup.sh
Android build系统可以从相同的源码编译出不同的产品,具有不同的packages和选项。为了实现这个功能, 需要一些环境变量来控制哪些需要编译,以及怎么编译。envsetup.sh就是其中一种方法,envsetup.sh会生成一些工具,使用这些工具可以很方便的对源码进行编译,envsetup.sh会include如下文件vendor/*/vendorsetup.sh ve
2011-11-01 16:39:48 8673
A COMPACT GUIDE TO LEX & YACC
2010-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人