自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式底层软件开发

大家一起交流 Gtalk&Email:lh.zhang.ustcer AT gmail.com

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

转载 <linux kernel>plz do not use usleep(0)!

最近发现很多hpc 领域的MPI程序中在用usleep(0) ,比较差异。 后来问了之前做hpc 的同事 得到的答复是一般用usleep(0) 的主要目的应该是:CPU交出当前线程的执行权,让CPU去执行其他线程。也就是放弃当前线程的时间片,转而执行其他线程 我感觉很诧异。 Usleep(0) 来做这个事情 是POSIX要求的 还是一个意外的发现呢? 我记得我之前都

2013-10-24 13:09:15 1666

转载 Audio Effects

Audio EffectsThis page provides an overview of the most common audio effects used in sound production, with links to more detailed tutorials.EqualizationEqualization means boosting or redu

2013-03-14 15:01:53 1538

转载 25 Free Digital Audio Editors You Should Know

A digital audio editor is defined as a computer application for manipulating digital audio. As a multimedia creator, we normally use audio editor for recording audio, edit the duration and timeline, m

2013-03-14 09:43:17 1551

原创 EXPAT usage

Expat can be intimidating due to the many kinds of handlers and options you can set. But you only need to learn four functions in order to do 80% of what you'll want to do with it:XML_ParserCreate

2013-03-13 11:41:07 897

转载 EXPAT(XML解析库)

expat是一个由C语言编写的XML解析库。James Clark创建了这个库,现在是制定XML标准的W3组织的技术leader。现在的版本是2.0。2.0开始就由Clark Cooper领导的开发组在sourceforge.net负责开发。       expat是一个基于SAX模型的、非验证(默认,v1.2开始提供验证接口,需要用户手动处理)的轻量级XML解释器。目前XML的解析主要有

2013-03-13 11:12:52 3099

转载 音频编解码标准

转载:http://www.cppblog.com/gtwdaizi/archive/2008/04/19/41884.html#47591PCMU(G.711U)类型:Audio制定者:ITU-T所需频宽:64Kbps(90.4)特性:PCMU和PCMA都能提供较好的语音质量,但是它们占用的带宽较高,需要64kbps。优点:语音质量优缺点:占用的带宽较高应用领域:

2013-03-12 14:36:34 1267

原创 最近学习openmax总结

最近在学习openmax IL, 里头学问不少。对于多媒体而言,是个很不错的框架。目前好几个芯片厂家也实现相关的代码,但是具体怎么实现的,需要深入学习。越学越有劲。希望可以进一步深入openmax IL。目前主要针对openmax IL进行深入。看代码是最好的学习途径,其次是官方的文档,500多页的文档看完了,主要讲述的是思想,如何实现与运作。再结合代码看,其实也不是那么难懂。个人觉得

2012-11-21 15:27:08 1948

转载 stagefright框架(七)-Audio和Video的同步

stagefright框架(七)-Audio和Video的同步   講完了 audio 和 video 的處理流程,接下來要看的是 audio 和 video 同步化 (synchronization) 的問題。 OpenCORE 的做法是設置一個主 clock ,而 audio 和 video 就分 別 以此作為輸出的依據。而在 Sta

2012-07-17 14:18:50 1464

原创 基于Android的KFFMPEG

为了发挥FFMPEG潜能,将用户态程序FFMPEG移植到内核态,花费不少时间啊。目前可解码,还有很多问题需要解决。大多数的开发者都将FFMPEG整合到libstagefright或者opencore,甚至采用NDK的方式写播放器。效果大家可以知道。如果在内核态运行软解码,效果是否要比用户态的软解码要好呢?应该来说是肯定的。希望两者有明显的区别。任务很重啊,继续加油。

2012-07-06 15:36:32 1216 1

原创 基于android多媒体框架实现播放APE音频的实现

一、APE格式及结构分析(类似flac实现) 待续二、整合到android多媒体框架 待续三、实现播放APE具体实现 待续四、性能分析及改进

2012-02-27 15:42:23 1990

原创 要反复看得几本书

《深入理解计算机操作系统》《UNIX环境高级编程(第2版)》《UNIX网络编程(卷1):套接字联网API》《UNIX网络编程(卷2):进程间通信(第2版)》英文版更佳,视自己情况吧。

2012-02-23 17:36:22 1003

原创 【MARK】Installing the JDK5 and JDK6 for android4.0.3

Initializing a Build Environmentandroid官网:http://source.android.com/source/initializing.htmlJava 6: for Gingerbread and newer$ sudo add-apt-repository "deb http://archive.canonical

2012-02-23 17:17:07 1328

原创 【MARK】解决APT-GET下载报错的方法

终端中输入以下两条命令:sudo rm /var/lib/apt/lists/* -vfsudo apt-get update

2012-02-23 17:14:18 749

转载 声音、音频采样率、采样精度等常识概念

什么是声音?能量波,有频率有振幅,频率高低就是音调,振幅大小就是音量;采样率是对频率采样,采样精度是对幅度采样人耳能听到的频率范围是200-20KHz,什么是CODEC?音频压缩CO+解压缩DEC,CODEC就是多媒体数字信号编解码器,主要负责DAC和ADC。不管是音频加速器好,还是I/O控制器好,他们输入输出的都是纯数字信号,我们要使用声卡

2011-12-01 13:57:44 2442

转载 硬件参数 调整 麦克风MIC灵敏度 原理

先赞一下这篇文章,分析易懂转载地址:http://blog.csdn.net/xujianqun/article/details/66619471、先看MIC电路连接这是个差分输入的例子,MICP2和MICN2是一对差分信号,经过C156的滤波,输入到MIC两端MIC两引脚分别是到地和供电,上图的R177参数就关系到MIC输入的灵敏度2、电阻R177影响

2011-12-01 13:54:14 2609

原创 Android自动化测试shell脚本(飞车Asphalt5)

Android自动化测试shell脚本(飞车Asphalt5)     本文为本人原著,转载请注明出处:http://blog.csdn.net/lhzhang1985/article/details/6580595  谢谢! 由于需要对飞车Asphalt5进行自动化测试,飞车又不能自动重新再开始,因此需要写个脚本完成自动化测试,然后就让它跑个几天几夜。刚开始不太熟悉自动化测试脚本,就

2011-07-02 18:48:14 15432 20

转载 职业规划就像软件工程(以后想成为码农的可以看看)

职业规划就像软件工程转载:http://blog.csdn.net/haoel/article/details/1688104 作者:陈皓        电信、银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然。所以当记者采访他的时候,他连用了两个“最”字来形容他离开银行的成就感。         陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发

2011-07-02 15:51:48 4135

转载 Android 的属性系统(翻译)

对文章做了一些更改,主要是init  libcutils libc这个源码位置(android2.3)。 转载:http://blog.csdn.net/tekkamanitachi/archive/2009/06/18/4280982.aspx 由于对Android 的属性系统不是很了解,所以翻译了这篇文章《Android Property System》 。 每个属性都

2011-06-23 11:54:00 1146 1

转载 利用 android手机DLNA功能,实现手机视频无线播放到电脑、电视

利用DLNA功能可实现个人PC、消费电器、移动设备在内的无线网络和有线网络的互联互通。DLNA可以支持的格式:Image:JPEG PNG, GIF, TIFFAudio:LPCM AAC, AC-3, ATRAC 3plus, MP3, WMA9AV: MPEG2 MPEG-1, MPEG-4, AVC, WMV9利用手机DLNA功能,可实现手机视频无线播放到电脑播放器,或手机直接播放电脑中的视

2011-06-21 11:32:00 25802

转载 使用OpenSER构建电话通信系统——第一章(1)

原文地址:Building Telephony Systems with OpenSER转载地址:http://blog.chinaunix.net/space.php?uid=2555411&do=blog&id=68000 前言:openser已经成为opensips项目,但是本书的内容绝大部分是适合于学习相关知识的。所以还是针对原书原封不动的做的翻译。使用

2011-06-17 15:20:00 196

转载 C++中虚析构函数的作用

我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类:class ClxBase{public:    ClxBase() {};    virtual ~ClxBase() {};    virtual void DoSomething() { cout };class ClxDerive

2011-06-14 22:10:00 716

转载 有了malloc/free为什么还要new/delete ?

 有了malloc/free为什么还要new/delete ?       malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不

2011-06-14 21:29:00 1976

转载 Ubuntu10.04系统 32位机上安装编译Android2.3源码

<br />转自:http://blog.163.com/fenglang_2006/blog/static/1336623182011115111052818/<br />Ubuntu10.04系统 32位机上安装编译Android2.3源码,其步骤和注意事项如下:<br /><br />1.安装JDK6<br />对于Android2.3系统,不要安装JDK5,应该安装最新的JDK6。<br />如果安装了JDK6,Android会自动按64位编译,如果系统是32位的,会有编译错误,后面会说如何修改这个

2011-06-01 14:20:00 1040

转载 Android深入浅出之Audio(1,2,3)

<br />android音频系统的分析很到位,通俗易懂,很强大,推荐之。<br /> <br />作者:Innost<br /> <br />Android深入浅出之Audio 第一部分 AudioTrack分析<br />http://www.cnblogs.com/innost/archive/2011/01/09/1931457.html 或者http://blog.csdn.net/Innost/archive/2011/01/09/6125779.aspx<br />Android深入浅出之Au

2011-05-10 12:10:00 1739 1

转载 Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager

<br />引言<br />    AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioFlinger主要负责管理音频数据处理以及和硬件抽象层相关的工作。本文主要介绍AudioPolicyService。<br />AudioPolicyService<br /

2011-04-28 16:22:00 995

转载 Android Audio System 之二:AudioFlinger

引言     AudioFlinger是Android音频系统的两大服务之一,另一个服务是AudioPolicyService,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioPolicyService的相关内容请参考另一编文章:《Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager 》http

2011-04-28 16:11:00 1434

转载 Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据

<br />Android Framework的音频子系统中,每一个音频流对应着一个AudioTrack类的一个实例,每个AudioTrack会在创建时注册到AudioFlinger中,由AudioFlinger把所有的AudioTrack进行混合(Mixer),然后输送到AudioHardware中进行播放,目前Android的Froyo版本设定了同时最多可以创建32个音频流,也就是说,Mixer最多会同时处理32个AudioTrack的数据流。<br />如何使用AudioTrack<br />Audi

2011-04-28 16:06:00 1519 1

转载 hw mixer还是sw mixer实现setMasterVolume?

<br />昨天分析了一把snd_kcontrol,可以认为上层应用的确是通过名称标识name来遍历底层的snd_kcontrol链表,从而找到相匹配的kcontrol。见snd_ctl_find_id函数<br />view plaincopy to clipboardprint?<br />·········10········20········30········40········50········60········70········80········90········100······

2011-04-28 11:17:00 2619

转载 ANDROID2.3音频系统HAL

<br />从大的方面来说,Android2.3的音频系统架构与Android2.2相比并没有太多的改变。对2.2的音频架构分析依然适用于2.3,之前很多人已经对这方面进行非常详尽的阐述,这里就不重复了。各模块文件的存放位置有所变更,这点倒是要了解的。<br />1、有个较大的改进的是引入了mixable audio effects系统。我草草翻了翻代码,应该是opensles实现的。opensles也是2.3新引入的一个音频库,这使得Android的音效变得更强大。但应该会牺牲一些性能,比方说之前Andr

2011-04-28 10:28:00 1985

转载 What Android Chipset Can Support Video Calling?

<br />By Tsahi Levent-Levi<br /><br />2010 was the year of the Android – it was when Android did it all: got adopted by everyone (besides Apple, RIM, Nokia and Microsoft), went into consumer electronics, found its way to TVs and tablets, became the most se

2011-04-15 09:47:00 954

转载 虚继承、虚表、虚指针

<br />c++实现多态的方法<br />其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:<br />class A<br />{<br />public:<br />    virtual void f();<br />    virtual void g();<br />private:<br />    int a<br />};<br

2011-04-06 13:07:00 1013

转载 虚函数与纯虚函数区别

<br />虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!<br />纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!<br />虚函数<br />引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。<br />class Cman<br />{<br />public:<br />    virtual void Eat(){……};<br />    void Move();<br />private:<

2011-04-06 13:05:00 607

转载 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储

<br />在C++中,内存分成5个区——堆、栈、自由存储区、全局/静态存储区和常量存储区<br />栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。<br />堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序

2011-04-06 13:04:00 1018

转载 内存区划分、内存分配、常量存储区、堆、栈、自由存储

<br />一. 在c中分为这几个存储区<br />1.栈 - 由编译器自动分配释放<br />2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收<br />3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放<br />4.另外还有一个专门放常量的地方。- 程序结束释放<br />                                          

2011-04-06 13:01:00 778

转载 Git 与 Subversion

转自:http://progit.org/book/zh/ch8-1.htmlGit 与 Subversion<br />当前,大多数开发中的开源项目以及大量的商业项目都使用 Subversion 来管理源码。作为最流行的开源版本控制系统,Subversion 已经存在了接近十年的时间。它在许多方面与 CVS 十分类似,后者是前者出现之前代码控制世界的霸主。<br />Git 最为重要的特性之一是名为 git svn 的 Subversion 双向桥接工具。该工具把 Git 变成了 Subversion 服

2011-04-01 14:03:00 1746

转载 SVN 迁移到 Git

转自:http://progit.org/book/zh/ch8-2.html迁移到 Git<br />如果在其他版本控制系统中保存了某项目的代码而后决定转而使用 Git,那么该项目必须经历某种形式的迁移。本节将介绍 Git 中包含的一些针对常见系统的导入脚本,并将展示编写自定义的导入脚本的方法。导入<br />你将学习到如何从专业重量级的版本控制系统中导入数据—— Subversion 和 Perforce —— 因为据我所知这二者的用户是(向 Git)转换的主要群体,而且 Git 为此二者附带了高质量的

2011-04-01 14:01:00 5099

转载 C语言函数调用三种方式:传值调用,引用调用和传地址调用

<br />我想,你只要看了C语言上关于传值函数调用的测试题,一切都会了然于胸: <br />1. 考题一:程序代码如下:<br />void Exchg1(int x, int y) <br />{<br />int tmp;<br />tmp=x;<br />x=y;<br />y=tmp;<br />printf(“x=%d,y=%d/n”,x,y)<br />}<br />void main()<br />{<br />int a=4,b=6;<br />Exchg1 (a,b) ;<br />pr

2011-03-31 18:22:00 1615

转载 函数调用传值、传地址与引用的选择

<br />从函数调用的角度理解三者之间的区别<br />  传值:    <br />  函数参数压栈的是参数的副本。    <br />  任何的修改是在副本上作用,没有作用在原来的变量上。   <br /><br />  传指针:    <br />  压栈的是指针变量的副本。    <br />  当你对指针解指针操作时,其值是指向原来的那个变量,所以对原来变量操作。   <br /><br />  传引用:    <br />  压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对

2011-03-31 18:08:00 984

转载 如何加入开源项目的小手册

参与开源项目,可以快速提高自己的技术水平,学到很多学校中学不到但在工作中会非常有帮助的技巧。一份参与过开源项目的履历,也越来越受到用人单位的重视。所以最近几年,我们技术爱好者对开源项目投入的关注是越来越多了。可仍会看到很多对开源项目充满兴趣和热情的同学,用了错误的方式方法以至于不得其门而入。这段时间我特意将自己的心得整理了一下,供爱好者参考。第一阶段:看和学在和一些开源爱好者的接触过程中,我发现很多人都对自己关注的项目缺乏技术层面的理解。不论是对功能、代码或者项目的设计方向都很模糊,甚至大部分连代码都没有下

2011-03-31 17:45:00 2465

转载 Add FLAC to stagefright

<br />There is no documentation on Stagefright. I haven't tried implementing a new stream type yet, but it does look pretty straightforward: <br />1. Create a FLAC stream extractor. See MP3Extractor.cpp or AMRExtractor.cpp for examples of audio stream extr

2011-03-31 17:43:00 1149

EVM的定义,很详细的说明与图解

EVM的定义 EVM的定义 EVM的定义

2009-12-05

软件无线电原理与应用

软件无线电原理与应用 PDF格式软件无线电原理与应用 软件无线电原理与应用

2009-12-05

Digital Communication Using Self-Synchronizing Chaotic Pulse Position Modulation

Digital Communication Using Self-Synchronizing Chaotic Pulse Position Modulation.PDF 文献,很宝贵,花了钱买的

2009-10-13

The Pulse Generator.PDF

The Pulse Generator.PDF 全面介绍脉冲发生器,英文版

2009-10-13

Arm的整个开发流程.PDF

Arm的整个开发流程.PDF Arm的整个开发流程.PDF 想学ARM的朋友看看哈

2009-10-13

RS纠错编码原理及其实现方法.pdf

RS纠错编码原理及其实现方法.pdf 详细说明RS纠错编码,很实用。

2009-10-13

差错控制编码.ppt

差错控制编码.ppt,很详细,各种编码方法都有介绍,而且还有实例说明

2009-10-13

LabVIEW Digital Signal Processing书中代码

LabVIEW Digital Signal Processing书中代码,超难找的资料

2009-09-09

LabVIEW Digital Signal Processing.pdf

LabVIEW Digital Signal Processing pdf格式,不错的资料

2009-09-09

The LabVIEW Style Book译文共享(第三章)

The LabVIEW Style Book译文共享(第三章).doc The LabVIEW Style Book译文共享(第三章).docThe LabVIEW Style Book译文共享(第三章).doc 只有部分,刚找到拿来分享下。

2009-09-09

A Software Engineering Approach to LabVIEW

A Software Engineering Approach to LabVIEW.chm

2009-09-09

Digital.Signal.Processing.System.Level.Design.Using.LabVIEW

Newnes[1].Digital.Signal.Processing.System.Level.Design.Using.LabVIEW.Jun.2005.eBook-DDU.pdf

2009-09-09

基于LabVIEW通信虚拟实验系统.pdf

基于LabVIEW通信虚拟实验系统,讲的比较详细

2009-08-31

ARM JTAG调试的基本原理

ARM JTAG,很详细的文档,值得一看

2009-07-31

ARM公司的AMBA总线规范 V 2.0

AMBA总线规范,ARM公司,网站上不多的资源

2009-07-31

二进制查看器(功能强大)

功能强大的二进制查看器,不止提供文本、十六进制方式,更提供了二进制的查看方式,使您能更透彻的分析数据文件,对文件进行比特级的操作。

2009-05-17

FloppyWriter

一个映像文件写工具,成公之后可以在虚拟机下直接运行,适合写操作系统时的调试工作

2009-05-17

空空如也

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

TA关注的人

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