摘要:
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的... 阅读全文
posted @ 2014-05-11 23:57
MMLoveMeMM
阅读(488)
评论(0)
推荐(0)
摘要:
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听... 阅读全文
posted @ 2014-05-11 23:56
MMLoveMeMM
阅读(539)
评论(0)
推荐(0)
摘要:
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开... 阅读全文
posted @ 2014-05-11 23:55
MMLoveMeMM
阅读(272)
评论(0)
推荐(0)
摘要:
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于... 阅读全文
posted @ 2014-05-11 23:53
MMLoveMeMM
阅读(291)
评论(0)
推荐(0)
摘要:
Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。ALS... 阅读全文
posted @ 2014-05-11 23:52
MMLoveMeMM
阅读(490)
评论(0)
推荐(0)
摘要:
1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值... 阅读全文
posted @ 2014-05-11 23:51
MMLoveMeMM
阅读(454)
评论(1)
推荐(0)
摘要:
1. struct snd_card1.1. snd_card是什么snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,... 阅读全文
posted @ 2014-05-11 23:49
MMLoveMeMM
阅读(311)
评论(0)
推荐(0)
摘要:
一. 概述ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供了... 阅读全文
posted @ 2014-05-11 23:48
MMLoveMeMM
阅读(431)
评论(0)
推荐(0)
摘要:
frameworks 目录 (核心框架——java及C++语言).|-- base (基本内容)| |-- api (?都是xml文件,定义了java的api?)| |-- awt (AWT库)| |-- build (空的)| |-- camera (摄像头服务程序库)| |-- cmds (重要... 阅读全文
posted @ 2014-05-11 22:45
MMLoveMeMM
阅读(358)
评论(0)
推荐(0)
摘要:
前面只是简单的一个文件,如果一个驱动是多个文件,还放在char目录下,将来维护不是很方便,这样做,可以直接在drivers目录下新建自己的一个目录用来放自己开发的驱动.步骤如下: : 首先编写出驱动程序:main.c#include#include#include#include#include#i... 阅读全文
posted @ 2014-05-11 13:56
MMLoveMeMM
阅读(245)
评论(0)
推荐(0)
摘要:
把自己编写的字符设备module添加到linux内核中编译的步骤如下: : 编写一个测试程序:#include#include#include#include#include#include#define DEVICE_NAME "hellomodule"static struct file_ope... 阅读全文
posted @ 2014-05-11 13:24
MMLoveMeMM
阅读(391)
评论(0)
推荐(0)

浙公网安备 33010602011771号