- 博客(17)
- 资源 (7)
- 收藏
- 关注
原创 Linux音频驱动-ASOC(ALSA System on Chip)
概述此处还需引入之前说过的话: 新事物的出现必然是为了解决旧事物中的不足。这句话在现实生活中和程序世界中道理一样。ASOC的出现就是为了解决ALSA无法解决的问题。ALSA到底存在什么问题? 以及ASOC会以怎样的方式去解决ALSA存在的问题?详细参考内核文档: kernel\documentation\sound\alsa\soc\Overview.txtALSA
2016-11-30 15:10:11 2660
原创 Linux音频驱动-PCM设备
概述1. 什么是pcm?pcm(Pulse-code modulation)脉冲编码调制,是将模拟信号转化为数字信号的一种方法。声音的转化的过程为,先对连续的模拟信号按照固定频率周期性采样,将采样到的数据按照一定的精度进行量化,量化后的信号和采样后的信号差值叫做量化误差,将量化后的数据进行最后的编码存储,最终模拟信号变化为数字信号。2. pcm的两个重要属性 a.
2016-11-25 20:11:16 10684
原创 Linux音频驱动-Card创建
概述在上节Linux音频驱动-ALSA概述中介绍了整个ALSA的构成,接口以及函数入口的分析。本节将从声卡的创建开始,也就是card的创建。card是整个声卡的最底层结构,用于管理该声卡下的所有设备包括control, pcm,timer等。在linux系统中使用struct snd_card结构代表一个card。数据结构声卡的主要数据结构struct snd_card
2016-11-24 13:28:36 3689 1
原创 Linux音频驱动-ALSA概述
概述ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构。关于OSS的退出以及ALSA的出现,可以看 Linux音频驱动-OSS和ALSA声音系统简介及其比较。
2016-11-22 19:28:32 24807 1
转载 Linux音频驱动-OSS和ALSA声音系统简介及其比较
概述昨天想在Ubuntu上用一下HTK工具包来绘制语音信号的频谱图和提取MFCC的结果,但由于前段时间把Ubuntu升级到13.04,系统的声卡驱动是ALSA(Advanced Linux Sound Architecture,高级Linux声音体系),而不是HTK中所使用的OSS(Open Sound System,开放声音系统)。网上查阅了大半天,按照 http://forum.ubunt
2016-11-21 10:17:45 8650
转载 Windows7下载、安装、配置ADB的步骤
1、ADB工具在哪里? 下载最新的Android SDK,地址是:http://developer.android.com/sdk/index.html; 解压,ADB在解压目录下的\sdk\platform-tools下面。例如,本人下载并解压之后的ADB工具目录如下:G:\adt-bundle-windows-x86-20140321\sdk\platform-
2016-11-18 21:55:40 2261
原创 Linux音频驱动-IIS总线标准
介绍许多数字音频系统正被引入消费者音频市场,包括CD,磁带,数字声音处理器和数字电视声音。在这些系统中的数字音频信号需要由许许多多(Very-large-scale integration)的IC组成,处理。在音频系统中常见的IC芯片有:.A/D and D/A 转化器(数模转化器).数字信号处理器。.数字录像,已经出错纠正。.数字滤波器。.数字输入/输出的接口。由于设备和
2016-11-17 17:44:06 2416
原创 Linux音频驱动-WAV文件格式分析
概述WAV文件格式是Microsoft的RIFF规范的一个子集,用于存储多媒体文件。WAV(RIFF)文件由若干个Chunk组成,分别为: RIFF WAVE Chunk,Format Chunk,Fact Chunk(可选),Data Chunk。具体格式如下:RIFF Chunk根据RIFF的格式,可以抽象出RIFF chunk的结构体:struct RIFF_CHU
2016-11-16 19:06:19 2059
转载 Linux音频驱动-声音采集过程
现实中的声音是一段连续的信号, 现在大部分的声音是以离散的数字信号保存下来,例如CD、MP3音频格式。 在保存这些信息时,考虑到对声音质量和存储的效率, 需要对声音的几个重要的基本属性进行研究。对于人类而言,声音是通过物体震动而产生的声波,通过介质传播而能够被人耳感知到的波动现象。能够被人耳朵感知到的波动频率在20到20KHz之间, 高于这个范围称为“超声波”,低于此范围称为“次声波”。一
2016-11-16 15:43:52 2863 2
原创 Linux电源管理-Linux Regulator Framework代码分析
示例分析在内核kernel/drivers/regulator/dummy.c文件中构造了一个虚拟的regulator,参考此文件编写一个虚拟的regulator driver。#include #include #include #include #include #include #include static struct regulator_dev *dummy_
2016-11-15 14:44:23 6346
原创 Linux电源管理-Linux regulator framework概述
前言1. 什么是regulator? regulator翻译为"调节器",分为voltage regulator(电压调节器)和current(电流调节器)。一般电源管理芯片(Power Management IC)中会包含一个甚至多个regulator。2. regulator有什么作用? 通常的作用是给电子设备供电。大多数regulator可以启用(e
2016-11-14 14:53:01 9711 3
原创 Linux电源管理-Runtime PM
前言1. 什么是Runtime PM? Runtime PM (Runtime Power Management)翻译过来就是运行时电源管理。主要的作用是: 每个设备处理好自己的电源管理,在不需要工作时进入低功耗状态。也就是"各人自扫门前雪"。2. 为什么需要Runtime PM? system suspend需要很长时间完成,其中还可能出现失败。比如f
2016-11-10 11:05:40 14334 5
原创 Linux电源管理-Autosleep
前言什么是Autosleep? 字面理解就是"没有事情干的时候睡觉"。而起初autosleep是在Android上的一个patch(https://lwn.net/Articles/479711/)演化而来的,当时名字叫做"Opportunistic sleep",翻译过来叫做"机会主义睡眠",也就是有机会就睡。因为此名字比较有争议,最后修改为autosleep。autosle
2016-11-04 16:52:01 6142
原创 Linux电源管理-wakelock
前言之前说过Google为了在user space阻止系统suspend,为Android设计出一套新的电源管理: wakelocks, early_suspend等。此机制修改了Linux原生的susupend流程,定义子自己的休眠接口。起初Android为了合入此patch和Linux内核开发者有一段时间的讨论。比如此地址:http://lwn.net/Articles/318611/
2016-11-03 14:43:07 7092
转载 拒绝Wakelock提高续航!安卓省电优化攻略
安卓耗电的元凶:Wakelock 相信不少朋友都在为安卓的耗电问题所困扰,在通常的使用环境下,iOS的电源管理远比安卓优秀,这个差距主要体现在待机上——你可以将iPhone安心放在枕边一夜醒来电量纹丝不动,但如果换成安卓机的话,恐怕电量早已测漏光光连闹钟都不会响了。不过,虽说安卓本身是个实时多任务系统,但在待机时,系统本身是不甚耗电的,安卓4.2.2发布后电量控制更是备受好评。待机时
2016-11-02 18:01:44 3548
原创 Linux电源管理-wakeup count
前言在wakeup events framework小节中提到,wakeup events framwork可以解决system suspend和wakeup events之间的同步问题。而整篇下来没有看到是如何解决同步问题的。所有本小节继续分析wakeup events framework中的重要知识点-wakeup count。"wakeup count"是不是很熟悉? 是的
2016-11-02 16:11:40 3346 1
原创 Linux电源管理-wakeup events framework
前言通常新机制/事物的出现往往是解决某些问题的,同样wakeup events framework机制也不例外。先带大家了解下wakeup events framework出现的背景,然后在了解其内部的实现机制。Linux系统中的电源管理一般是冷睡眠,而Android系统却将linux系统中的睡眠作为通常待机使用,显然Linux中的电源管理不符合Android系统。Android说既然不符
2016-11-01 14:51:17 7114 1
ARMGIC手册详解.zip
2020-03-21
ARM_v8_architecture参考手册.zip
2020-03-21
ARMv8-A_Architecture.zip
2020-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人