- 博客(26)
- 资源 (2)
- 收藏
- 关注
转载 Linux内核DMA机制
DMA控制器硬件结构DMA允许外围设备和主内存之间直接传输 I/O 数据, DMA 依赖于系统。每一种体系结构DMA传输不同,编程接口也不同。 数据传输可以以两种方式触发:一种软件请求数据,另一种由硬件异步传输。 在第一种情况下,调用的步骤可以概括如下(以read为例): (1)在进程调用 read 时,驱动程序的方法分配一个 DMA 缓冲区,随后指示硬件传送它的数据。进程进入
2013-12-31 11:43:05 1830
转载 ARM Cortex-A9处理器相关介绍
ARM Cortex-A9处理器相关介绍 Cortex-A9处理器基于先进的推测型八级流水线,该流水线具有高效、动态长度、多发射超标量及无序完成特征,这款处理器的性能、功效和功能均达到了前所未有的水平,能够满足消费、网络、企业和移动应用等领域产品的要求。 Cortex-A9微架构可提供两种选项:可扩展的Cortex-A9 MPCoreTM多核处理器和较为传统的Cortex-A9单核处理
2013-12-28 10:52:33 32508
转载 【stagefrightplayer】4 OMX Codec介绍 (2/2)
4.1 看下 drainInputBuffers();实现[html] view plaincopyprint?PREclass=htmlname="code">void OMXCodec::drainInputBuffers() {for (size_t i = 0; i buffers->size(); ++i) {BufferInfo *i
2013-12-21 16:06:55 1247
转载 【stagefrightplayer】4 OMX Codec介绍
概述OMX Codec是stagefrightplayer中负责解码的模块。由于遵循openmax接口规范,因此结构稍微有点负责,这里就依照awesomeplayer中的调用顺序来介绍。主要分如下几步:1 mClient->connect2 InitAudioDecoder & InitVideoDecoder3 消息通信机制模型的介绍4 解码过程介绍先看下
2013-12-21 15:59:13 4240
转载 【stagefrightplayer】5 音频输出AudioPlayer介绍
概述stagefrightplayer中使用audioplayer类来进行音频的输出。先来看下audioplayer相关的类图在之前介绍awesomeplayer结构的时候有画图介绍,mAudioPlayer的输入为mAudioSource,也就是解码器对应的OMXCodec,在构造AudioPlayer对象时会存放在其成员mSource中,而AudioPlayer可以
2013-12-21 15:57:02 2989
转载 【stagefrightplayer】3 MediaExtractor介绍
概述本篇介绍播放器结构中的第一部分Stream+Demuxer.Awesomeplayer中对应的数据结构主要有DataSource,MediaExtractor,MediaSource。其中DataSource 主要负责提供原始数据,MediaSource负责提供demux后的数据(即实际的audio 或者 video 数据包)而MediaExtractor则负责中间的过程,
2013-12-21 15:17:52 6885
转载 【stagefrightplayer】1 调用过程
概述android中的多媒体播放结构是:client-server模式client端对应的类是:MediaPlayer -- framework/base/media/java/android/media/MediaPlayer.javaserver端对应的类是:MediaPlayer->MediaPlayerService->Stagefrigthplayer->AwesomeP
2013-12-21 15:15:53 3906
转载 【stagefrightpalyer】2 awesomeplayer结构分析
概述通过分析stagefrightplayer代码可以知道,stagefrightplayer 是awesomeplayer的封装,实际的工作都由awsomeplayer完成一个典型的播放器框架包括如下组成部分:stream: 流类型,一般有文件类型、网络流等demuxer:解复用模块,主要是通过分析带播放的数据,得到基本信息,如audio video的基本参数等,还负责分解a
2013-12-21 15:13:21 4455 1
转载 Stagefright框架中视频播放流程
Stagefright框架中视频播放流程1.创建playerengine// 设置数据源,以及 audio sinkMediaPlayer::SetDataSource(PATH_TO_FILE)-> MediaPlayerService::create->MediaPlayerService::Client::setDataSource->GetPlayerTyp
2013-12-21 14:56:11 973
转载 深入分析 Linux 内核链表
深入分析 Linux 内核链表2012-09-16 16:09:08 分类: LINUX转载:https://www.ibm.com/developerworks/cn/linux/kernel/l-chain/一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组
2013-12-19 10:37:35 620
转载 V4L2驱动程序架构
V4L2驱动程序架构2012-08-02 10:19:44 分类: 嵌入式1 V4L2简介video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常/dev/video/中的videoXV4L2驱动对用户空间提供字符设备,主
2013-12-19 10:36:10 616
转载 Linux tty 终端设备驱动
在Linux系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈信息,Linux中包含控制台、串口和伪终端3类终端设备。14.1终端设备在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由Teletype公司生产的。Linux中包含如下几类终端设
2013-12-17 17:41:47 2389
转载 实例解析linux内核I2C体系结构(1)
http://blog.csdn.net/hongtao_liu/article/details/4964244 一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:● 思路比较直接,不需要花时间去了解
2013-12-12 16:23:58 680
转载 Linux设备驱动之USB hub驱动
Linux设备驱动之USB hub驱动2012-07-24 14:06:49 分类: 原文地址:Linux设备驱动之USB hub驱动 作者:xgr180------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------
2013-12-12 16:14:31 13212 1
转载 linux设备驱动之USB主机控制器驱动分析
linux设备驱动之USB主机控制器驱动分析2012-07-24 10:33:37 分类: 原文地址:linux设备驱动之USB主机控制器驱动分析 作者:xgr180------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/
2013-12-12 16:12:41 1252
转载 盘点Linux内核源码中使用宏定义的若干技巧
盘点Linux内核源码中使用宏定义的若干技巧(1)2012-07-24 09:50:38 分类: 原文地址:盘点Linux内核源码中使用宏定义的若干技巧(1) 作者:MagicBoy2010在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发:1. 类型检查比如module_ini
2013-12-12 16:11:01 1200
转载 NorFlash和NandFlash的理解
NorFlash和NandFlash的理解2012-07-23 16:09:21 分类: 原文地址:NorFlash和NandFlash的理解 作者:wuzhongyun10086NorFlash和NandFlash接口对比NorFlash带有通用的 SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特点是芯片内
2013-12-12 16:09:30 727
转载 Linux中断(interrupt)子系统
Linux中断(interrupt)子系统之一:中断系统基本原理2012-07-20 13:00:35 分类: LINUX这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层。内核版本基于3.3。虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的
2013-12-12 16:08:32 5285
转载 Linux Kernel Mode与User Mode的实质
Linux Kernel Mode与User Mode的实质---Linux 在ARM Architecture上的实现Linux Kernel作为一种操作系统有别与一般的用户程序,即所谓的kernel mode和user mode。Kernel mode下运行的程序能够访问所有的memory,能够处理interrupt;而user mode的程序只能访问有限的memo
2013-12-12 14:47:43 3097
转载 Linux下tty/pty/pts/ptmx详解
Linux下tty/pty/pts/ptmx详解(转)2009-12-11 09:19:17 分类: LINUX基本概念:1> tty(终端设备的统称):k'g d W.V-L a0tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所
2013-12-10 14:26:49 2625
转载 高通编译环境一键安装包
之前一直都在Marvell平台上开发Android,Marvell平台的CP只Release二进制文件,所以开发过程中一般只需要修改并编译AP端的代码就可以了。最近一个月,由于项目需要,开始转到开发高通平台的Android。初步接触下来,高通平台和Marvell平台有很大不同。最显著一点就是,Marvell平台中是AP启动起来后再挂CP跑;而高通平台则是先启动CP1,然后CP初始化AP并加载程序运
2013-12-07 18:59:40 4004 3
转载 Android Phone分析
Android的Radio Interface Layer (RIL)提供了电话服务和的radio硬件之间的抽象层。Radio Interface Layer RIL(Radio Interface Layer)负责数据的可靠传输、AT命令的发送以及response的解析。应用处理器通过AT命令集与带GPRS功能的无线通讯模块通信。AT command由Hayes公司发明,是一个调制解调器
2013-12-07 18:32:22 617
转载 命令模式下的异步消息处理
命令模式下的异步消息处理( Handler,Message,Looper,MessageQueue)接受者:Handler,执行消息处理操作。请求者:Looper,调用消息的的处理方法。命令角色:Message,消息类。客户端:Thread,创建消息并绑定Handler(接受者)。 命令角色:Message Class Overview:Defines a message cont
2013-12-07 18:24:41 892
转载 Android——启动之bootloader
第一部分:Bootloader启动一、 Bootloader的定义和种类简单地说,BootLoader是在操作系统运行之前运行的一段程序,它可以将系统的软硬件环境带到一个合适状态,为运行操作系统做好准备。这样描述是比较抽象的,但是它的任务确实不多,终极目标就是把OS拉起来运行。在嵌入式系统世界里存在各种各样的Bootloader,种类划分也有多种方式。除了按照处
2013-12-07 18:04:23 899
转载 Android 电话系统框架介绍
在android系统中rild运行在AP上,AP上的应用通过rild发送AT指令给BP,BP接收到信息后又通过rild传送给AP。AP与BP之间有两种通信方式:1.Solicited Response:Ap向Bp发送请求,Bp给Ap发送回复,该类型的AT指令及其回调函数以数组的形式存放在Ril_commands.h文件中:{数组中的索引号,请求回调函数,响应回调函数}[
2013-12-07 17:18:25 1559
转载 Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0 ARMv7)
好文,不得不转!!(http://blog.chinaunix.net/uid-20543672-id-3151113.html)Linux内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核
2013-12-05 09:33:17 868
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人