自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linux嵌入式驱动软件开发

android底层开发和移植

  • 博客(342)
  • 资源 (23)
  • 收藏
  • 关注

转载 开源EDA资源

<br /><br />1.来自kakuyou<br />http://www.icarus.com/eda/verilog/<br />开源的verilog 编译器,包含模拟器和基本逻辑综合模块。<br /><br />http://www.geocities.com/SiliconValley/Campus/3216/GTKWave/gtkwave-win32.html<br />windows版的gtk-wave,一个图形波形察看工具<br /><br />http://embedded.eecs.b

2011-05-26 10:43:00 6560

转载 nucleus简单介绍

Nucleus PLUS嵌入式操作系统的简单介绍Nucleus PLUS嵌入式操作系统是目前最受欢迎的操作系统Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nucleus PLUS 核心代码区一

2011-03-28 11:02:00 5270

转载 简单介绍ecos, uc/OS,uClinux,RTlinux,Linux

到目前为止接触过QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos,总结下来有以下特点:ecos: 多任务抢占机制, 可配置(特色),可配置文件系统uc/OS:代码很少,多任务抢占机制,需自己扩展文件系统uClinux:非抢占式,没有MMU管理存储器,有文件系统等许多功能RTlinux:通过在L inux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的L inux内核的优先级最低,可以

2011-03-28 10:56:00 8556 1

转载 UC/OS和uClinux的比较 + μC/OS-II与eCos的比较

UC/OS和uClinux的比较引言随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动设备、网络设备和工控仿真等领域。嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性能有严格要求的计算机系统。随着嵌入式系统的广泛应用,传统的前/后台程序开发机制已

2011-03-28 10:55:00 9370 1

原创 Android中通过按键旋转屏幕

<br /><br />Q5有个功能,通过长按menu按键,可以旋转屏幕方向(0°或者90°),这个功能有时蛮有用的,下面来看看是如何实现的:<br />1 修改按键处理程序<br />frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java<br />函数<br />    public boolean interceptKeyTi(WindowState win, int code, i

2011-02-24 15:00:00 6878 4

转载 Android中通过按键旋转屏幕

<br /><br />Android上的home键是系统直接处理的,功能如下:<br />1:跳转到Home界面,如果Home进程死掉了,则重新启动Home进程<br />2:长按5s,弹出选择应用的窗口,可以切换应用.<br />由于需要,我需要修改这里的部分逻辑,修改后的逻辑不能放出,这里放出我找到的大概地点<br />view plaincopy to clipboardprint?<br />public boolean interceptKeyTi(WindowState win, int co

2011-02-24 14:58:00 5933 3

转载 Android权限获取机制与常见权限不足问题分析

Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,很多像我这样的新手,尤其是习惯了windows低安全限制的用户,很容易在这方面弄混淆,下面是我总结的Android系统权限相关的内容,作为这段时间对android权限学习的总结,也希望能对大家有所帮助,不正确之处请指出。首先分清两个概念:要区分apk运行时的拥有的权限与在文件系统上被访问(读写执行)的权限两个概念。apk程序是运行在虚拟机上的,对应的是Android独特的权限机制,只有体现到文件系统

2011-01-10 17:55:00 11660 2

转载 porting iperf to Android platform

下面的文档描述如何移植 iperf 到 android 平台中1. download iperf source codelatest iperf version from the below link:http://sourceforge.net/projects/iperf/and then unzip it.tar zxvf iperf_2.0.4.orig.tar.gz2. copy iperf-2.0.4 copy iperf-2.0.4 folder to ex

2011-01-10 17:36:00 5823

原创 断点续传的原理

<br />ftp断点续传的原理 <br />客户端的实现步骤如下: <br /><br />一、下载: <br />1、向服务器发送“REST + 本地文件长度”命令,告诉服务器,客户端要断点下载了。这时服务器还不知道客户端要下载哪个文件; <br />2、向服务器发送“RETR + 文件名”命令,通知服务器要下载的文件名,这时服务器开始定位文件指针读文件并发送数据。 <br />3、客户端定位本地文件指针(文件末尾); <br />4、两端的准备工作都做完了以后,客户端创建socket,以被动或非被动方

2010-12-07 13:58:00 5210

转载 V4L2编程框架(*)

<br />V4L2编程框架(*)2009年2月17日zooyoo发表评论阅读评论<br />V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video/dvb/FM…,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。<br />V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函数来实现。1.打开

2010-11-22 11:40:00 4010 1

原创 Android quikboot

<br />最近,随着数字家电的高功能化,将易于开发的Linux用作OS的情况越来越多。因此,启动时间成为问题。因为OS比较小的RTOS(real- time operating system)尺寸大,所以Linux配备机型启动耗费时间。在这种情况下,从事嵌入软件开发的日本Ubiquitous,于2009年11月10日发布了可非常快速地启动配备美国谷歌基于Linux的“Android”平台终端的“Ubiquitous Quick-Boot”(以下称QuickBoot)技术。该公司用配备飞思卡尔半导体ARM系

2010-11-19 19:11:00 4451 1

转载 Linux设备模型之input子系统详解

<br />Linux设备模型之input子系统详解一:前言最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,

2010-11-18 11:14:00 3693

转载 Linux设备模型之input子系统详解

Linux设备模型之input子系统详解一:前言最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供

2010-11-18 11:13:00 3364

原创 基于开源软件构建先进的嵌入式电源管理

<br /><br />电源管理(或者说能耗管理)是芯片设计、制造工艺、系统设计和软件都在为之努力的研究课题,大家力求在各个环节尽可能的减少静态和动态的电源消耗。传统的控制电压的调节方式和管理待机模式依然是多数电子设备正在采用的,还将继续延续下去,但是随着包括智能手机、导航和无线传感网络装置,这些对电量消耗极大且永远在线的设备的市场规模的迅速增加,电源管理已经成为整个电子设计正在面临的重要课题。市场研究机构isuppli首席分析师Jordan Selburn说:“功耗已经成为电子产品设计的首要考虑。”<br

2010-10-28 16:54:00 5617

原创 Cpufreq应用程序在arm开发板端的交叉编译及实现

<br /><br />Cpufreq应用程序在arm开发板端的交叉编译及实现<br />Written by leeming<br />leeming.cublog.cn 转载请说明出处<br />1.内核选项:<br />Linux 动态变频管理 cpufreq 提供了操作系统级别的变频功能,同时需要用户层来制定和执行策略。cpufreq后台进程cpufreqd 就是用来监测系统的运行状况,并根据不同的状况设定 CPU 的工作频率的。 <br /> <br />要想在用户层使用后台进程cpufreqd,

2010-10-28 16:51:00 5286

原创 基于Linux的动态电源管理:使嵌入式设备更节能

<br />基于Linux的动态电源管理:使嵌入式设备更节能<br />为了在产品众多、竞争激烈的市场上使产品与众不同,手持设备的制造商们往往把电池寿命和电源管理作为手机、PDA、多媒体播放器、游戏机、其它便携式消费类设备等产品的关键卖点来考虑。用户是从电池寿命这方面来看待电源管理的成效,其实它是多种因素共同作用的结果,这些因素包括 CPU 功能、系统软件、中间件,以及使用户可以在更长的充电或更换电池的间隔时间内享用各自设备的策略。<br />电源管理范围<br />  任何拥有笔记本电脑的人都会感觉到,他

2010-10-28 16:50:00 6085

原创 Linux的cpufreq(动态变频)技术

<br /><br />linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。<br /> <br />cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。<br />设备驱动级:主要实现对单个设备驱动的管理(suspend,resume等),通过系统监测将闲

2010-10-28 16:50:00 12567 2

原创 android下的开源库

<br /><br />本人对于Android中使用的C库比较感兴趣,毕竟是整个android基本库,所以一一在这里记录一下每一个的作用。<br />bluetooth : 蓝牙协议栈,官网<http://www.bluez.org/><br />dhcpcd : dpkg 配置包,官网<http://roy.marples.name/projects/dhcpcd><br />embunit : 一个嵌入式的单元测试工具。<br />freetype : linux上广为使用的字体解析库。<br />ip

2010-10-08 11:44:00 5970 1

原创 中国佛学66句震撼世界的禅语

<br /><br />中国佛学66句震撼世界的禅语<br /><br />  1.人之所以痛苦,在于追求错误的东西。 <br />  2.如果你不给自己烦恼,别人也永远不可能给你烦恼。因为你自己的内心,你放不下。 <br />  3.你永远要感谢给你逆境的众生。 <br />  4.你永远要宽恕众生,不论他有多坏,甚至他伤害过你,你一定要放下,才能得到真正的快乐。 <br />  5.当你快乐时,你要想这快乐不是永恒的。当你痛苦时,你要想这痛苦也不是永恒的。 <br />  6.今日的执著,会造成明日的后

2010-09-21 14:55:00 3083 1

原创 android 可执行程序终于可以在nxp8473--cortex-a9平台运行

现在android 的可执行程序终于可以在nxp8473--cortex-a9平台运行了,其中直接的原因是:由于宏定义errno造成的-------非法访问内存地址bionic/libc/bionic/libc_init_common.cvoid __libc_init_common(uintptr_t *elfdata){int argc = *elfdata;char** argv = (char**)(elfdata + 1);char** envp = argv +

2010-09-17 10:20:00 3378

原创 打android的patch

<br />How to download the android kernel由于目前从android网站git后的源代码中不包括kernel,所以需要单独下载android kernel,生成使用的补丁,下面是我使用的方法,供大家参考;Here is a way of extracting raw Android patches at a certain point intime, though this may be datedken@ken:/data/android/a

2010-09-17 10:18:00 6230

转载 Simple Guide for Porting Android Kernel (portingNote)

<br /><br />原作:劉旭暉 轉載請註明出處 http://blog.csdn.net/colorant/<br />增訂:Rider1. Android內核Porting相關背景知識1.1 運行平台<br />Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其编譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以参考下面這篇文章,Benno在此做了詳細的理論分

2010-09-09 23:07:00 2524

转载 关于编译android时出现Error 41的解决方法

<br />我遇到这个错误,在国外论坛看到了解决办法并解决成功,希望能帮助到别人。<br /><br />错误:<br />build/core/product_config.mk:229: WARNING: adding test OTA key <br />host Java: clearsilver (out/host/common/obj/JAVA_LIBRARIES/ <br />clearsilver_intermediates/classes) <br />Unrecognized optio

2010-09-01 11:13:00 1734

原创 理解dup、dup和fcntl

<br />/dup函数的作用:复制一个现有的句柄,产生一个与“源句柄特性”完全一样的新句柄(也即生成一个新的句柄号,并关联到同一个设备)<br />//dup2函数的作用:复制一个现有的句柄到另一个句柄上,目标句柄的特性与“源句柄特性”完全一样(也即首先关闭目标句柄,与设备断连,接着从源句柄完全拷贝复制到目标句柄)//dup和dup2都是系统服务,window平台对应DuplicateHandle函数/* DUP.C: This program uses the variable old to save

2010-08-11 11:03:00 1689

原创 android系统中的log定向

<br /><br />为了调试,必须要将log怎么打印的搞清楚,于是有了以下的分析。<br />我们通常在程序中插入LOGD(..),LOGE(..)之类的语句,但什么情况下可以查看这些打印消息呢?<br />首先,来到定义处:system/core/include/cutils/log.h,在开头就可以看到<br />#ifndef LOG_TAG<br />#define LOG_TAG NULL<br />#endif<br />所以程序中#include "log.h"之前要定义LOG_TAG,不

2010-08-11 11:00:00 1430 1

原创 overload和overide的区别

<br />overload和override的区别override(重写) <br />1、方法名、参数、返回值相同。<br />2、子类方法不能缩小父类方法的访问权限。<br />3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。<br />4、存在于父类和子类之间。<br />5、方法被定义为final不能被重写。<br />overload(重载)<br />1、参数类型、个数、顺序至少有一个不相同。  <br />2、不能重载只有返回值不同的方法名。<br />3、存在于父类和

2010-08-09 15:28:00 1818 1

原创 linux内核启动地址的确定

<br />内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中<br /><br />ifeq ($(CONFIG_CPU_32),y)<br />PROCESSOR     = armv<br />TEXTADDR     = 0xC0008000<br />LDSCRIPT     = arch/arm/vmlin

2010-07-24 17:30:00 4492

原创 linux logo 的启动方式

<br /> <br />1.方案分析<br />ARM-Linux启动时会先在LCD左上角显示一个ARMLINUX的小企鹅图案,也就是我们所说的bootlogo。<br />首先分析一下Logo的显示代码:<br />不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。<br />fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是SHARP(夏普)的TFT真彩屏.<br />再仔细

2010-07-08 16:37:00 4314

原创 Compiling Android for MIPS

<br /><br /> <br />You may have heard about Google TV that is coming soon in our homes, through Android set-top boxes. It's expected to come out this fall, but the source code of the MIPS port is already available to the public. It is important to note tha

2010-06-23 15:12:00 4453

原创 android----制作splash镜像

<br />1、使用ImageMagick自带的convert命令,进行raw格式转换(convert -depth 8 splash.png rgb:splash.raw)<br />    注:imgageMagick安装包,执行sudo apt-get install imagemagick<br />2、编译一下android自带的rgb2565工具,其 路径在$ANDROID_HOME/build/tools/rgb2565上(gcc -O2 -Wall -Wno-unused-parameter

2010-06-09 19:54:00 2795

原创 cpu介绍

<br /><br />      处理器<br />                       说明<br />  alpha 处理器<br />  Alpha 处理器最早由美国DEC 公司设计制造,在Compaq (康柏)公司收购DEC 之后,Alpha 处理器继续得到发展,并且应用于许多高档的Compaq 服务器上,HP (惠普)收购的Compaq ,Alpha 便为HP(惠普)所有,不过HP (惠普)已经放弃发展alpha 处理器。<br /> <br />  arm 处理器<br />  Arm

2010-06-04 11:02:00 1404

原创 brk和sbrk及内存分配函数相关

<br /><br />brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:<br />       每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这 一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在内核的管理 下将虚拟地址空间映射到内存,供malloc函数使用。(参见linux内核情景分析)<

2010-06-03 10:29:00 1684

转载 I帧、P帧和B帧的特点

<br />I帧:帧内编码帧<br />I帧特点:<br />1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;<br />2.解码时仅用I帧的数据就可重构完整图像;<br />3.I帧描述了图像背景和运动主体的详情;<br />4.I帧不需要参考其他画面而生成;<br />5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);<br />6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;<br />7.I帧不需要考虑运动矢量;<br />8.I帧所占数据的

2010-06-02 17:59:00 1159

转载 MMU的初始化与开启实验

<br /><br />内存管理单元MMU负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。<br />     4种映射长度:段(1MB)、大页(64KB)、小页(4KB)、极小页(1KB)。<br />     对每个段都可以设置访问权限。<br />     大页、小页的每个子页(sub-page,即被映射页的1/4)都可以单独设置访问权限。<br />     没有启动MMU时,CPU核、cache、MMU、外设等所有部件使用的都是物理地址。<br />     理论知识我就不多写了,

2010-06-02 17:17:00 3940 1

原创 ARM MMU工作原理剖析

<br /><br />一、MMU的产生<br />      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时他将调用另一个覆盖块

2010-06-02 17:16:00 5954 5

原创 Firmware 加载原理分析

<br />前言      <br />              前段时间移植wifi驱动到android的内核上,发现firmware的加载始终出错,问了几个人,都不是很了解,没办法,只好自己研究一下。原理分析<br />    从本质上来说,firmware需要做的事情包括两件:<br />1,  通知用户态程序,我需要下载firmware了;<br />2,  用户态程序把用户态的数据copy到内核层;<br />3,  内核把内核态的数据写到设备上,比如wifi模块里;<br />其中第三步应该不

2010-06-01 21:55:00 10406 2

原创 Android 移植之 iperf

1.移植准备<br />       1,源代码地址:<br />     http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz/download,   下载iperf-2.0.4.tar.gz,并放到Adroid_root/external;<br />2,解压到Adroid_root/external/ iperf-2.0.4.tar.gz;<br />       tar –zxvf ip

2010-06-01 21:53:00 4835

原创 Android移植之dropbear

1.需求 Android虽然提供了ADB,但还是没有ssh,scp等用起来顺手,所以想移植一个ssh的Server到开发板上去,因为android默认的代码有external/dropbear,所以决定移植dropbear而不是openssh;2. 思路要实现ssh,scp必须要满足以下的条件:A) 必须要有网路,这个可以由wifi来保证;B) 必须要有一个Server来打开22号端口,这个是由dropbear来完成的;C) 必须要有一

2010-06-01 21:52:00 7039 4

原创 android不支持tab补全和ctrl+c的解决办法

<br />要支持一些常用的命令,<br />需要重新编译一个busybox,<br />make menuconfig<br />先选择你想要的那些命令,然后如果要支持tab补全的话,<br />选择,<br />Busybox Settings--><br />Busybox Library Tuning--><br />Tab completion <br />选中就可以了<br />然后进入android串口,执行busybox sh<br />就可以了。<br />默认没有cp函数,<br />先

2010-06-01 21:50:00 4445

原创 bluetooth的profile

Bluetooth是一种短距离无线通讯传输接口,允许的传输距离长度设计为10米到100米,当含有Bluetooth的手机 或计算机等 在多个含Bluetooth装置的环境中,设备尚未加入蓝牙微网时,它会先进入待机状态。在此状态下,它会随时监听传呼讯息,直到收到的信号与自己本身的识别码有相关时,自己才会激活Bluetooth服务 称为Master 时,开始寻找外围所有Bluetooth装置 称为Slave ,并且呼叫连结程序。接下来则进行识别码的确认及信号时间的同步,以便决定往后跳频之Sequence,而将这

2010-06-01 10:26:00 2988

WebKit 研究报告(侯炯)

webKit 的前身是 KDE 小组的 KHTML。Apple 将 KHTML 发扬光 大,推出了装备 KHTML 改进型的 WebKit 引擎的浏览器 Safari,获 得了非常好的反响。 WebKit 内核在手机上的应用十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使 用的 Browser 内核引擎,都是基于 WebKit

2012-05-10

ALSA 驱动架构说明

除了一组内核驱动程序模块之外, ALSA 还专门为简化应用程序的编写提供了相应的函 数库。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库 内部处理。下面本文将着重介绍驱动模块的运作机制及其要点。 Alsa kernel 为上层主要提供以下接口: 1 control interface 提供灵活的方式管理注册的声卡和对存在的声卡进行查询。 2 PCM interface 提供管理数字音频的捕捉和回放。 3 原始 MIDI 接口 一种标准电子音乐指令集。 这些 API 提供访问声卡上的 MIDI 总 线。这些原始借口直接工作在 The MIDI 事件上,程序员只需要管理协议和时间。 4 Timer 接口 为支持声音的同步事件提供访问声卡上的定时器。 5 音序器接口 一个比原始 MIDI 接口高级的 MIDI 编程和声音同步高层接口。它可以处 理很多的 MIDI 协议和定时器。 6 mixer 接口 控制发送信号和控制声音大小的声卡上的设备。

2012-04-06

V4L2 编程框架

V4L2 较 V4L 有较大的改动,并已成为 2.6 的标准接口,函盖 video\dvb\FM...,多数驱动都在向 V4l2 迁移。更好地了解 V4L2 先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就 V4L2 在视频捕捉或 camera 方面的应用框架。

2012-04-06

Android 高效编程注意事项

最近用 Android 开发了几个模块,感觉有点慢,后来好好看了相关优化 Android 代码的知识,优化之后,感觉快了很多。 在这里与大家分享一下,下面只是说 的一些很基础有很重要的知识,你想要编写运行速度很快、 占用内存少的代码可能有 点帮助

2012-04-06

android系统vold透析

Vold 的全称是 Volume Daemon。在 android 中,取代 udev 的是 vold,我们这里不去过 多的讨论为什么 android 不继续使用 udev,但要知道 vold 的机制和 udev 是一样的,理 解了 udev,也就理解了 vold。android 一出生就没有尊守传统 linux 的许多标准,当然也 不能指望 udev 能很好的服务于 android。android 小区的选择是别起炉灶,为 android 定做一套 udev,这就是 vold 了。 无论是 udev 还是 vold,都是基于 sysfs 的, sysfs 为内核 与用户层的通讯提供了一种全新的方式,并将这种方式加以规范。kernel 层能检测到有新 的设备接入,并能为之加载相应的驱动,但如何通知用户层呢?这就是 sysfs 的工作,内核 中的 sysfs 机制要求当有新的驱动加载时给用户层发送相应的 event.但这些 event 只尽告 知的义务,具体怎么处理,这就是 vold 的事了

2012-04-06

Android多媒体编程从初学到精通

深度开发android系统,Android多媒体编程从初学到精通

2011-08-24

android 核心学习资料

1. Android內核Porting相關背景知識 1.1 運行平台 Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其编譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以参考下面這篇文章,Benno在此做了詳細的理論分析和代碼測試:http://benno.id.au/blog/2007/11/21/android-neo1973 . 不過依照目前現階段情形除了原本基於ArmV5或以上的架構的平台可以實際運行Android外,亦可在 ARMV4 上面運行了,詳細操作步驟請參考文章最下面 Benno’s 的一些連結資訊,他有 release 一些 patch 可以供 porting 實驗之用。 1.2 軟體環境(開發所需資源)

2010-09-09

MPEG-2 压缩编码技术原理应用

MPEG 是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化 组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1 的第 29 分委员会的第 11 工作组, 即 ISO/IEC JTC1/SC29/WG11,成立于 1988 年。其任务是制定世界通用的视音频编码标准。因为,广 播电视数字化所产生的海量数据对存储容量、传输带宽、处理能力及频谱资源利用率提出了不切合实 际的要求,使数字化难以实现。为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和 相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重 要的东西及冗余成分抛弃,从而缩减了存储、传输和处理的数据量,提高了频谱资源利用率,制定了 如表 1 所示的一系列 MPEG 标准,使数字化正在变为现实。其中,MPEG-2 是一组用于视音频压缩编 码及其数据流格式的国际标准。它定义了编解码技术及数据流的传输协议;制定了 MPEG-2 解码器之 间的共同标准(MPEG-2 编码器之间尚无共同标准)。本文以 MPEG-2 的系统、MPEG-2 的编码、及 MPEG-2 的应用为题,讨论 MPEG-2 压缩编码技术。

2010-05-12

HDMI 传输原理解析

那么到底 HDMI 标准采用了什么样的传输原理?HDMI 的具体性能又是怎样?下面就进入本文的第二部分: 详解 HDMI 技术。

2010-05-12

嵌入式-------面试宝典

包括职场面试,笔试,同时又是学习的好资料。

2010-05-06

Pthreads Programming

Editor: Andy Oram Production Editor: Nancy Crumpton Printing History: September 1996: First Edition February 1998: Minor corrections Nutshell Handbook and the Nutshell Handbook Logo are registered trademarks and The Java Series is a trademark of O'Reilly & Associates, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

2010-03-24

The Linux Kernel API

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For more details see the file COPYING in the source distribution of Linux.

2010-03-24

The Linux TCP/IP Stack: Networking for Embedded Systems

Written for embedded systems programmers and engineers, as well as networking professionals, this in-depth guide provides an inside look at the entire process of implementing and using the Linux TCP/IP stack in embedded systems projects.

2010-03-24

usb 鼠标驱动注解及测试

参考 2.6.14 版本中的 driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分: 驱动加载部分、probe 部分、open 部分、urb 回调函数处理部分。 下文阴影部分为注解。

2010-03-24

用 FPGA 如何自己设计 CPU 和制作计算机

为了让更多的人能够迅速掌握用 FPGA 自己设计 CPU 和制作计算机的方法,推动我 国计算机科学向深层次发展,本文特一般性 介绍一下设计需要掌握的基本知识和设计制 作计算机的一般过程。

2010-03-24

新一代视频压缩编码标准H.264.pdf

数字视频技术在通信和广播领域获得了日益广泛的应用,特别是 90 年代以来,随着 Internet 和移动通信的迅猛发展, 视频信息和多媒体信息在 Internet 网络和移动网络中的处理 和传输成为了当前我国信息化中的热点技术。 众所周知,视频信息具有一系列优点,如直观性、确切性、高效性、广泛性等等。但是 视频信息量太大,要使视频得到有效的应用,必须首先解决视频压缩编码问题,其次解决压 缩后视频质量保证的问题。这两者是相互矛盾的,是矛盾的俩各个方面。我们的任务是既要 有较大的压缩比,又要保证一定的视频质量。 为此,人们付出了巨大的辛勤的劳动,现在已结出丰硕的成果。从 1984 年 CCITT 公布 第一个视频编码国际标准以来,至今已有二十年了。ITU-T 等国际标准化组织陆续颁布了接 近十个视频编码国际标准, 大大推动了视频通信和数字电视广播的发展, 这也是有目共睹的 事实。 但是严格地讲, 这两大领域至今的发展仍不能令人满意, 总起来讲, 应用的范围不广, 主要是视频压缩与质量之间的矛盾不能很好解决。 例如,可视电话一直被认为是一种理想的 通信设备,可近 30 年来至今未能普及,就是因为性能价格比不高。 2003 年 3 月,ITU-T/ISO 正式公布了 H.264 视频压缩标准,由于其相比以往标准的出色 的性能,被人们称为新一代视频编码标准。具体讲,与 H.263 或 MPEG-4 相比,在同样质 量下,其数码率能降低一半左右;或者说在同样码率下,其信噪比明显提高。这样一来, H.264 标准在国际上受到了广泛地重视和欢迎。在这样的背景下,我们编写了这一本书。 本书的特点是取材新颖、内容全面。它不仅重点论述了 H.264,而且首先介绍了数字视 频和视频编码的基础知识,介绍了已有若干视频编码国际标准(特别是 MPEG-4) ,以便为 进一步学习 H.264 打下良好的基础。 全书共 9 章,在 H.264 部分(第 6~9 章)详尽地论述了 H.264 特点、编码器原理、解码 器原理、编解码器的实现。为了更好地理解 H.264 编解码原理及其实现,第 7 章详细介绍了 H.264 码流的句法和语义。最后对 H.264 视频编码传输的 QoS 进行了专门地论述。 本书可作为通信、广播电视专业高校本科生教材,可供该领域的硕士生、博士生深入研 究用,也可供广大的从事视频技术、视频服务领域的技术人员参考用。 本书由毕厚杰教授主编,撰写第 1~4 章及第 6 章前 3 节。左雯撰写了第 5 章。马国强、 徐苏珊撰写了第 7 章。焦良葆、王健撰写了第 9 章。其余部分由方晖、焦良葆、王健、马国 强、左雯、李涛、徐苏珊、鹿宝生等人共同编写完成。全书由毕厚杰负责审稿,左雯负责校 样。 由于时间仓促及水平有限,书中难免出现不当之处,恳请广大读者批评指正,以便再版 时进一步修正。

2009-10-13

avs 标准文档中的源码

/****************************************************************** AVS Reference Software Manual ******************************************************************/ please send comments and additions to [email protected] 1. Compilation 2. Command line parameters 3. Input/Output file format 4. Configuration files **************************************************************** 1. Compilation 1.1 Windows A workspace for MS Visual C++ is provided with the name "RM.dsw". It contains the encoder and decoder projects. And you can also use the separate project files: lencod.dsw , ldecod.dsw. 1.2 Unix Makefiles are provided in the lencod and ldecod directory. 'make' comand will creat the obj directory and generate the executable file in the 'bin' directory. ******************************************************************* 2. Command line parameters 2.1 Encoder lencod.exe [-f file] [-p parameter=value] All Parameters are initially taken from the 'file ', typically: "encoder.cfg" -f file If an -f parameter is present in the command line then the parameters will be taken from the config file See configfile.h for a list of supported ParameterNames. -p parameter=value If -p parameters are present then the ParameterValue will overide the config file's settings. There must be whitespace between -f and -p commands and their respecitive parameters. 2.2 Decoder ldecod.exe decoder.cfg The decoder configuration file name must be provided as the first parameter. All decoding parameters are read from this file. ******************************************************************* 3. Input/Output file format The codec can only support 4:2:0 format video sequences. For encoder, the input files should be t

2009-10-13

项目管理知识体系指南

作为美国项目管理协会的标准和指南性出版物,这就是其中一本,是通过一个自发的以协商为基 础的标准开发过程而进行开发的。此过程把志愿者聚在一起,同时也获得一些对此书内容感兴趣 的人的观点。PMI 在实施此过程时,确立相应规则,以便在达成一致意见的过程中提高公正性。 协会不出台此文本, 也不独立测试、评估或证明任何信息的准确性、完整性和任何此学会的标准 性和指南性出版物中有关判断的正确性。

2009-10-06

PMP项目管理原版书籍

项目管理知识体系(PMBOK)是一个涵盖面甚广的术语,描述项目管理职业知识的总和。如同法律、 医学和会计等其它职业一样,项目管理知识体系依赖于应用和推动其发展的实际工作者和学者来逐步建 立。完整的项目管理知识.体系不仅包括广泛应用的已被实践证实的传统做法, 还包括仅在有限范围内应用、 具有开创性的和先进性的方法;不仅包括已发表的资料,而且还包括未发表的资料.

2009-10-06

c语言图算法基础.pdf

相对图论有加深了解,可以下载该文书籍,涵盖的知识庭全面的。

2009-09-23

多线程编程指南.pdf

这是基于posix的多线程编程,非常全面,有助于对多线程的编写能力,

2009-09-23

GNU C LIBrary.pdf

涵盖了gnu中的c库非常全面,是不可多的的书籍, 包含了posix库及unix的扩展库

2009-09-23

GCC技术参考手册(英文).pdf

gcc官方资料,有助于对gcc的加深了解 非查难得

2009-09-23

空空如也

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

TA关注的人

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