自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AZURE

  • 博客(63)
  • 资源 (24)
  • 收藏
  • 关注

原创 DAPM之一:概述

DAPM--Dynamic Audio Power Management,对应结构体是snd_soc_dapm_widget和snd_soc_dapm_route,对应的操作函数是snd_soc_dapm_new_controls()、snd_soc_dapm_add_routes()和snd_soc_dapm_new_widgets()。在我看来,DAPM是音频驱动初接触者的噩梦。从何处来,到何处去?它字面上的意义是音频电源动态管理,但是往往困惑于它是怎么被触发的?而最郁闷的是:这方面的资料是最少的,我涉

2011-04-18 19:15:00 30739 3

原创 snd_kcontrol_new名称中的SOURCE字段

前些日子写了一篇snd_kcontrol探究,该文主要从内核源码出发简单讲述一下kcontrol接口的始末。这几天因为要在Android里面添加一些音频控制接口,配合alsa_amixer scontents分析,对此有了更深的体会,记录于此。因为这方面的资料实在太少,很多东西都是自我理解的,如有错误请见谅并指出。name字段是名称标识,这个字段非常重要,因为kcontrol的作用由名称来区分,对于名称相同的kcontrol,则使用index区分。name定义的标准是“SOURCE DIRECTION

2011-04-15 10:15:00 9331 3

原创 ANDROID模块编译

之前每次修改BoardConfig.mk后,都傻傻的先make clean然后重新编译,这样浪费的时间不计其数。后来忍受不了这种效率,Google了一下,果然不出所料是可以模块独立编译的。1、进入Android源码根目录,执行source build/envsetup.sh;2、可以执行mm、mmm等模块编译命令了。如要编译audioflinger,则执行mmm frameworks/base/services/audioflinger/ -B即可。3、make -snod重新生成system.img映像。

2011-04-11 11:12:00 7276

转载 ALSA编程细节分析

[Loong]:之前写过基于ALSA的WAV播放录音程序,见http://blog.csdn.net/sepnic/archive/2011/01/14/6140824.aspx。现在本想好好整理一下ALSA的编程思想,但Google了一下,发现已经有同道做了类似的工作,故将其转载过来,并添加一些本人的疑问以及补充(将会继续补充,原文很多重要的ALSA参数没有提到)。原文:http://blo

2011-03-25 12:44:00 20498 20

原创 音频采样概念

数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。将一串的样本连接起来,就可以描述一段声波了,把每一秒钟所采样的数目称为采样频率或采率,单位为HZ(赫兹)。采样频率越高所能描述的声波频率就越高。采样率决定声音频率的范围(相当于音调),可

2011-03-25 11:11:00 6343 4

原创 音频调试的一些tips

1、声音波形分析编辑工具cooledit用cooledit产生一个正弦波声音文件,host机不断循环播放这个文件,再用音频线将host的LINE OUT口与target的mic口相连,这样target机就可以录host发过来的正弦波声音了。用正弦波进行测试可以非常明显体现录音的效果,有杂音爆音都很容易分辨出来。

2011-03-18 17:28:00 5447 1

原创 ANDROID2.3音频系统HAL

从大的方面来说,Android2.3的音频系统架构与Android2.2相比并没有太多的改变。对2.2的音频架构分析依然适用于2.3,之前很多人已经对这方面进行非常详尽的阐述,这里就不重复了。各模块文件的存放位置有所变更,这点倒是要了解的。

2011-03-11 19:16:00 14232 19

原创 驱动模块使用SPI总线范例

<br />前两天写了一个<驱动模块使用I2C总线范例>。由于SPI和I2C类似,加上有空闲时间,故参考之前写的I2C实现了这个SPI模块。代码如下,这个代码未经调试,我目前的板子没有用到SPI接口,但是总体架构应该没错的。<br />#include <linux/init.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/errno.h>#include

2011-02-15 18:03:00 2744 1

原创 驱动模块使用I2C总线范例

在嵌入式中,I2C接口的意义非常重大,许多外围芯片控制接口都采用I2C。因此,了解在驱动模块中如何进行I2C总线通信是很有必要的。我们先看看I2C驱动代码的树形结构:.|-- Kconfig|-- Makefile|-- algos| |-- Kconfig| |-- Makefile| |-- i2c-algo-bit.c| |-- i2c-algo-pca

2011-02-11 12:12:00 7079 6

原创 shellcode之二.Plus2:ret2libc实例

在最后提到ret2libc,原书并没有详细的资源。但理解这个对以后如何绕开不可执行栈(nx-stack)有很大的帮助,鉴于此,我在网络上找到一些相关资料,并进行相应的试验。The basic idea behind the "Return to Libc" attack is that even though the stack has been marked "Non Executable"

2011-01-22 15:16:00 4269

原创 shellcode之二.Plus:victim漏洞提权实例

声明:主要内容来自《The Shellcoder's Handbook》,摘录重点作为笔记并加上个人的一些理解,如有错,请务必指出。在中提到一个简单的程序victim攻击。由于之前我的系统是Debian/Etch,会故意变化栈的地址,当时未能按照书上做这个测试。后来装了sarge,遂进行这个实验,因为这个攻击实例非常有助于栈溢出的理解。注:sarge的sources.list源非常

2011-01-22 15:09:00 1999

原创 shellcode之五:堆溢出

声明:主要内容来自《The Shellcoder's Handbook》,摘录重点作为笔记并加上个人的一些理解,如有错,请务必指出。几乎所有的malloc实现都会用元数据保存块的位置、大小或与小块有关的特殊数据。dlmalloc用存储桶保存这些数据,还有些malloc实现用平衡树结构保存它们。这些元数据一般保存在两个地方:malloc实现自己使用的全局变量;分配给用户的内存块的前/后位

2011-01-22 15:01:00 3184 2

原创 shellcode之四:格式化串漏洞

声明:主要内容来自《The Shellcoder's Handbook》,摘录重点作为笔记并加上个人的一些理解,如有错,请务必指出。格式化串漏洞 当printf系列函数的格式化串里包含用户提交的数据时,有可能出现格式化串漏洞。攻击者可能提交许多格式化字符(但不提供对应的变量),这样栈上就没有和格式符相对于的参数,因此系统就会用栈上的其他数据代替这项参数,从而导致信息泄露和执行指

2011-01-22 14:53:00 4054 2

原创 shellcode之三:shellcode编写

声明:主要内容来自《The Shellcoder's Handbook》,摘录重点作为笔记并加上个人的一些理解,如有错,请务必指出。系统调用Shellcode是一组可注入的指令,可在被攻击的程序内运行。由于shellcode要直接操作寄存器,通常用汇编语言编写并翻译成十六进制操作码。我们想让目标程序以不同与设计折预期的方式运行,操纵程序的方法之一是强制它产生系统调用。

2011-01-22 14:46:00 3858

原创 shellcode之二:简述漏洞提权

声明:主要内容来自《The Shellcoder's Handbook》,摘录重点作为笔记并加上个人的一些理解,如有错,请务必指出。派生shell这类溢出一般会被用来获取根(uid 0)特权,我们可以攻击以根特权运行的进程来达到这个目的。如果进程以根运行,我们可以通过溢出强制它执行shell,而这个shell将继承根特权,我们也会因此而得到根shell。首先了解一下

2011-01-22 14:37:00 6539 4

原创 shellcode之一:栈溢出

前言:现在我是嵌入式软件开发者,大学本科读的是电子信息专业,正常的来说不会与入侵、漏洞利用什么的打交道。只是大一时心血来潮用工具进入了另外一台电脑。其实这些也无关重要,重要的是我从那台电脑上down了第一部A片。不出意外的话,那台电脑应该属于女生的,因为那个IP段是女生楼那边的。后来我就可以很笃定的跟别人说:女生也是要看A片的。后来又用工具入侵了更多的局域网电脑,甚至学校一些社团的服务器。再后来,

2011-01-22 14:17:00 5106

原创 Android如何找到正确的ALSA底层kcontrol接口?

昨天分析了一把snd_kcontrol,可以认为上层应用的确是通过名称标识name来遍历底层的snd_kcontrol链表,从而找到相匹配的kcontrol。见snd_ctl_find_id函数/** * snd_ctl_find_id - find the control instance with the given id * @card: the card instance * @

2011-01-19 15:54:00 8825 13

原创 snd_kcontrol探究

control控制接口控制接口对于许多开关(switch)和调节器(slider)应用广泛,它能被用户空间存取,从而读写CODEC相关寄存器。control的主要用于mixer。它用snd_kcontrol_new结构体描述。snd_kcontrol_newstruct snd_kcontrol_new { snd_ctl_elem_ifac

2011-01-18 19:38:00 15374 7

原创 简单原始的FFMpeg播放器

这个代码很久之前写的,当时是为了学习FFMpeg和SDL。写得很简单,仅仅处理视频帧解码,用SDL_DisplayYUVOverlay显示视频数据,没有同步处理和音频处理,所以一个视频文件会很快的逐帧显示而过。// rin.c// A small sample program that shows how to use libavformat and libavcodec to//

2011-01-17 21:14:00 3300

原创 ALSA之PCM分析

之前写过一个音频驱动CODEC分析,当时忽略了阐述最基本的概念。要了解一个东西,首先要明白它是什么它起到什么作用,然后才会更好对它的工作流程更好的分析。所以这里提一下:CODEC :音频芯片的控制,比如静音、打开(关闭)ADC(DAC)、设置ADC(DAC)的增益、耳机模式的

2011-01-17 11:22:00 21964 13

原创 ALSA之CODEC分析

ALSA: Advanced Linux Sound Architecture,它包括内核驱动集合、API库和工具。用户层程序直接调用libsound的API库,不需要打开设备等操作,因此编程者不需要了解底层细节。这里不分析ALSA的核心代码core,也不阐述如何在用户层进行声卡编程,仅仅简要介绍在ALSA的架构上添加一个声卡驱动,即上图中的Sound Driver。其实文档《wirte an

2011-01-15 00:16:00 22366 10

原创 应用时间片实现多任务的单片机代码

要实现的功能模块有四个:ir信号解码,待机信号重复按键判断,i2c从设备中断处理,LED&KEYPAD扫描。其中这四个模块中除了i2c从设备中断处理,其他都需要用到定时器。 不巧的是,我们用到的单片机是HT46R22,只有一个定时器。我参考了操作系统时间片的概念,最终写了这个目前

2011-01-14 23:42:00 4017 1

原创 基于ALSA的WAV播放和录音程序

这段时间在探索ALSA架构,从ALSA Core到ALSA Lib,再到Android Audio System。在看ALSA Lib时,写了一个比较典型的基于ALSA的播放录音程序。程序包包含四个部分:WAV Parser是对WAV文件的分析和封装,这里只针对Standard WAV File;SND Common是Playback 和Record共同操作,如SetParams、Read

2011-01-14 23:13:00 22253 19

AVS、MPEG-2、H264标准文档

AVS、MPEG-2、H264标准文档

2016-04-15

PCM_data_flow_in_ASoC-Part1

Linux ALSA PCM数据流分析,这是第一部分,着重讨论ASoC三大部分(Codec/Platform/Machine)的接口实现及注册流程。

2014-05-20

arm-linux-gcc-3.4.1.tar.bz2

经典的arm-linux-gcc交叉编译工具链,版本3.4.1。

2011-11-20

arm-linux-gcc-2.95.3

经典arm-linux-gcc交叉编译工具链,版本2.95.3

2011-11-20

ANDROID-AUDIO-SYSTEM-(by-DroidPhone)

DroidPhone的ANDROID-AUDIO-SYSTEM系列,写的极好,我把它整理成文档了,原帖:http://blog.csdn.net/droidphone,感谢作者的辛勤劳作和无私奉献。

2011-11-20

Linux_ALSA声卡驱动原理分析

转载,详述了alsa-lib函数流程,帮助理解设备打开和pcm数据传输流程,难得的好文档。

2011-11-12

Linux Audio for Android

wolfson公司音频芯片的ppt介绍,将音频开发的大致流程和关键点都写出来了,新手值得一看。

2011-11-11

alsa-player 可播放wav和rawdata文件

直接使用alsa-lib接口实现的pcm rawdata播放器,其中也有wav文件分析,所以支持wav文件。

2011-08-09

AUDIO CODEC DAPM(包括dapm机制和音频路径详细分析)

本文目的帮助理解音频系统中的dapm机制建立和触发过程,在这之中,涉及到音频路径的搭建和选择(相信这部分对于大家来说更有应用意义) 。在dapm机制深入分析中,会展现alsa设计者的各种理念及实现技巧,很多细节上的考虑和处理值得我们去学习。 前提是必须掌握基本的音频系统知识,对AUDIO CODEC驱动有一定的了解,这方面有一份很好的文档《write an alsa driver》可以参考。另外最好熟练使用alsa_amixer、alsa_aplay这两个基本音频调试工具。

2011-07-29

ac97标准协议 revision2.3

AC ‘97 Component Specification,AC97标准协议,音频驱动开发必备。

2011-06-27

alsa pcm player

alsa播放/录制pcm格式文件的测试源码

2011-05-24

DAPM之二:音频通路与dapm kcontrol

从应用到内核系统分析了dapm kcontrol的作用、配置、建立及触发过程,理解这些对于alsa音频通道切换会有较大的帮助。

2011-05-03

AVS-P2-视频(AVS标准第二部分)

AVS-P2-视频,这是avs标准的第二部分--视频,做avs解码的最关心的一个标准。

2010-08-14

mpeg2标准13818

mpeg2标准13818,这里有系统、视频、音频三个部分。

2010-08-14

uCOS-II在MSP430的移植源码

uCOS-II在MSP430上的移植源码

2010-08-01

uCOSII 2.76商业版本源码

uCOSII 2.76商业版本源码,含ucos内核源码、ucfs文件系统源码、ucgui源码

2010-08-01

nc源码(含unix、windows版本)

大名鼎鼎的网络瑞士军刀nc源码,里面有两份,一份是unix版本的,一个是windowsNT版本的。

2010-08-01

avs decoder source

中国国家音视频标准avs解码源码,由联合信源发布。可用vc6编译运行。

2010-04-23

SMDK2410官方代码和原理图

SMDK2410官方bootloader、usb等源码和原理图

2010-04-17

cs8900_linux驱动代码

cs8900 linux driver,网上有这个,但是文件都是损坏的,所以重新上传,并给自己备份

2008-10-17

空空如也

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

TA关注的人

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