自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Android系统权限和root权限

1. Android权限说明      Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,Android系统权限相关的内容, (一)linux文件系统上的权限 -rwxr-x--x system   system       415...

2012-11-28 17:04:55

阅读数 14330

评论数 0

转载 snd_pcm_ops

ALSA驱动主要是实现snd_pcm_ops中的相关函数。 1. snd_pcm_ops 接着我们看一下snd_pcm_ops结构体,该结构体的操作函数集的实现是本模块的主体。 struct snd_pcm_ops { int (*open)(struct snd_pcm...

2012-11-27 17:44:25

阅读数 5470

评论数 0

转载 alsa-lib如何解析asound.conf

1. 简介 无论是在录音还是在放音,都要打开一个PCM流,具体对应的函数原型为: int snd_pcm_open(snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode);  本文以录音为例介绍一下它...

2012-11-27 16:18:22

阅读数 7520

评论数 0

转载 open("/dev/dsp")函数调用流程 --OSS接口

open("/dev/dsp") ==> sys_open ==> soundcore_open (所有的fops以iminor为索引放在全局static struct sound_unit *chains[SOUND_STEP];中) ==> snd_...

2012-11-27 11:45:53

阅读数 3485

评论数 0

转载 snd_pcm_open打开流程

aplay.c ==> main ==> snd_pcm_open(&handle, pcm_name, stream, open_mode); // 打开一路pcm,刷新config配置 如果是"default",同时type等于SND_CONFIG...

2012-11-27 09:22:33

阅读数 21971

评论数 3

转载 Linux ALSA声卡驱动之八:ASoC架构中的Platform

1.  Platform驱动在ASoC中的作用        前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输...

2012-11-26 16:59:50

阅读数 2559

评论数 0

转载 Linux ALSA声卡驱动之七:ASoC架构中的Codec

1.  Codec简介      在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,...

2012-11-26 15:23:13

阅读数 1977

评论数 0

转载 Linux ALSA声卡驱动之六:ASoC架构中的Machine

1. 简介         前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(...

2012-11-26 11:51:42

阅读数 2109

评论数 0

转载 Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)

1.  ASoC的由来         ASoC--ALSA System on Chip  ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Co...

2012-11-16 08:39:02

阅读数 1981

评论数 0

转载 Linux ALSA声卡驱动之四:Control设备的创建

1. Control接口        Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过cont...

2012-11-15 14:51:16

阅读数 2217

评论数 0

转载 Linux ALSA声卡驱动之三:PCM设备的创建

1. PCM是什么         PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在...

2012-11-15 11:46:49

阅读数 12295

评论数 1

转载 Linux ALSA声卡驱动之二:声卡的创建

1. struct snd_card  1.1. snd_card是什么        snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_c...

2012-11-15 11:23:56

阅读数 2288

评论数 0

转载 Linux ALSA声卡驱动之一:ALSA架构简介 .

一.  概述     ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。     在内核...

2012-11-15 09:49:57

阅读数 2400

评论数 0

原创 如何编写Linux设备驱动程序

一、Linux device driver 的概念           系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操...

2012-11-14 17:11:14

阅读数 3067

评论数 1

转载 Android WiFi 应用程序例子

首先需要强调一点的是wifi只能在真机上测试!         在Android里,所有的wifi操作都在android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,用的时候现查就ok了,下面是《Android应用开发揭秘》里面关...

2012-11-14 09:57:08

阅读数 5278

评论数 0

原创 Android应用程序--获取待机、唤醒、关机、网络状态变化消息

1) 待机: 广播消息:android.intent.action.SCREEN_OFF (代码) 2) 唤醒: 广播消息:android.intent.action.SCREEN_ON (代码) 3) 关机: 广播消息:android.intent.action.ACTION_SHUT...

2012-11-12 16:28:45

阅读数 11001

评论数 0

转载 android 彻底关闭应用程序(back按键)

在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。        我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDe...

2012-11-12 12:54:20

阅读数 8402

评论数 0

转载 Android中使用ALSA声卡及alsa.conf asound.conf

1. 配置文件 总共有三个配置文件:  1) /system/usr/share/alsa/alsa.conf :它指定了另外两个配置文件的路径  2) /etc/asound.conf  3) .asoundrc 可通过cat /proc/asound/cards查看当前系统有哪些声卡...

2012-11-08 12:04:58

阅读数 14151

评论数 0

原创 Android系统--事件读取及分发

1. 简介       WindowManagerService分发事件是通过它的InputManager来完成的。       在初始化时,各部分状态如下:       • InputManager.InputReader:正在睡眠等待事件的发生       • InputManager...

2012-11-07 16:42:44

阅读数 9944

评论数 1

转载 Android UI管理系统

Activity可以看做是整个android系统的人机接口,它提供了一个窗口来绘制UI,每个Activity在启动时,我们都需要给它设置一个Content view,作为Activity所呈现的UI内容,这个过程是通过setContentView()方法来实现的。      众所周知,andr...

2012-11-06 18:12:48

阅读数 2220

评论数 0

原创 Activity启动分析

1. Activity简介     一个Activity是用户要做的一件单一工作。它包括与用户交互的所有功能,因此它负责创建Window,以便你通过setContentView放置你的UI。其所有派生类将实现以下两个方法:     1) onCreate:初始化你的activity,通常调用s...

2012-11-06 16:49:58

阅读数 5097

评论数 0

原创 Android AIDL分析

1. AIDL接口     对于WindowManagerService,如果client需要访问它,需要通过AIDL接口来访问,其接口在IWindowManager.aidl中定义,ADIL接口在编译时将生成一个IWindowManager.java文件(此文件在out目录下),其主要相关代码...

2012-11-06 16:14:32

阅读数 7518

评论数 1

原创 Android4.x 如何处理Power按键

1. 简介         Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这些键发送给Activi...

2012-11-03 15:53:21

阅读数 32563

评论数 12

转载 Android修改源代码控制永不锁屏

锁定屏幕对于移动终端来说是非常有必要的,但是对于机顶盒产品就没有这个必要了。所以本文介绍一下怎样让Android设备永不锁屏。 Android系统的锁屏时间存放在Setting数据库中,字段为Settings.System.SCREEN_OFF_TIMEOUT。查看SettingsProvide...

2012-11-03 15:25:58

阅读数 5720

评论数 1

转载 android 获取正在运行的应用程序列表 .

PackagesInfo pi = new PackagesInfo(this); 02. 03. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); ...

2012-11-03 14:44:39

阅读数 2102

评论数 0

转载 Android LockScreen

大体的思路:系统启动成功后SystemServer调用wm.systemReady()通知WindowManagerService,进而调用PhoneWindowManager,最终通过LockPatternKeyguardView显示解锁界面。当按Power键时,系统会像向外广播消息Intent...

2012-11-03 14:42:47

阅读数 3335

评论数 1

原创 Android睡眠唤醒机制--系统架构

一、简介      Android在Linux内核原有的睡眠唤醒模块上基础上,主要增加了下面三个机制:      • Wake Lock 唤醒锁机制;      • Early Suspend 预挂起机制;      • Late Resume 迟唤醒机制;      其基本原理:当启动...

2012-11-01 17:57:37

阅读数 15719

评论数 1

原创 Android睡眠唤醒机制--HAL-->Kernel

一、Kernel与HAL接口分析         Kernel与HAL接口是通过/sys/power下面的一系统文件来实现的,如:/sys/power/state         Kernel中/sys/power下的文件实现过程如下: 1. sysfs的属性文件      在kernel...

2012-11-01 17:22:16

阅读数 6581

评论数 0

转载 Android睡眠唤醒机制--Kernel态

一、简介       Android系统中定义了几种低功耗状态:earlysuspend、suspend、hibernation.       1) earlysuspend: 是一种低功耗的状态,某些设备可以选择进入某种功耗较低的状态,比如 LCD可以降低亮度或灭掉;        2...

2012-11-01 14:47:06

阅读数 29669

评论数 0

转载 Linux睡眠唤醒机制--Kernel态

一、对于休眠(suspend)的简单介绍    在Linux中,休眠主要分三个主要的步骤:    1) 冻结用户态进程和内核态任务    2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺序    3) 休眠核心设备和使CPU进入休眠态, 冻结进程是内核把进程列表中所有的进...

2012-11-01 11:54:10

阅读数 13573

评论数 0

转载 Android驱动开发之earlysuspend睡眠模式--实现代码

(1)添加头文件: #include (2)在特定驱动结构体中添加early_suspend结构: #ifdef CONFIG_HAS_EARLYSUSPEND struct early_suspend early_suspend; #endif (3)在驱动probe函数中注册相关...

2012-11-01 11:34:57

阅读数 10462

评论数 0

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