自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 ALSA驱动、设备函数调用关系

soc_probe==> snd_soc_register_card或者snd_soc_register_dai或者snd_soc_register_platform或者snd_soc_register_codec==> snd_soc_instantiate_cards

2011-08-25 14:24:41 4287

原创 kzalloc 函数详解

用kzalloc申请内存的时候, 效果等同于先是用 kmalloc() 申请空间 , 然后用 memset() 来初始化 ,所有申请的元素都被初始化为 0./** * kzalloc - allocate memory. The memory is set to zer

2011-08-24 15:50:54 37680 1

原创 Android 自带 apk 的查看与删除

1、启动Android模拟器2、运行dos,我的android是放在F盘,所以输入 F:,然后enter3、输入adb shell,以#开始,可以输入命令4、找到apk所在目录# cd system/app    # ls可以看到所

2011-08-19 16:23:37 3485

原创 Linux内核的ioctl函数

关于ioctl的网上资源一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:int ioctl(int fd,

2011-08-16 17:00:26 7943 1

转载 Android JNI の struct JNINativeMethod

typedef struct {const char* name;const char* signature;void* fnPtr;} JNINativeMethod;Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的

2011-08-16 10:44:21 1553

转载 Android Binder机制の设计与实现8-9(数据包接收队列与等待队列管理/总结)

8 数据包接收队列与(线程)等待队列管理通常数据传输的接收端有两个队列:数据包接收队列和(线程)等待队列,用以缓解供需矛盾。当超市里的进货(数据包)太多,货物会堆积在仓库里;购物 的人(线程)太多,会排队等待在收银台,道理是一样的。在驱动中,每个进程有一个全局的接收队列,也叫

2011-08-11 10:07:49 2209

转载 Android Binder机制の设计与实现6-7(Binder 内存映射和接收缓存区管理/Binder 接收线程管理)

6 Binder 内存映射和接收缓存区管理暂且撇开Binder,考虑一下传统的IPC方式中,数据是怎样从发送端到达接收端的呢?通常的做法是,发送方将准备好的数据存放在缓存区中,调用 API通过系统调用进入内核中。内核服务程序在内核空间分配内存,将数据从发送方缓存区复制到内核缓

2011-08-11 10:05:35 2896

转载 Android Binder机制の设计与实现5(Binder 的表述)

5 Binder 的表述考察一次Binder通信的全过程会发现,Binder存在于系统以下几个部分中:· 应用程序进程:又分为Server进程和Client进程· Binder驱动:Server和Client有不同表述形式· 传

2011-08-11 10:04:26 1838

转载 Android Binder机制の设计与实现4(Binder 协议)

4 Binder 协议Binder协议基本格式是(命令+数据),使用ioctl(fd, cmd, arg)函数实现交互。命令由参数cmd承载,数据由参数arg承载,随cmd不同而不同。下表列举了所有命令及其所对应的数据:表 2 Binder通信命令字命令

2011-08-11 09:58:53 3397

转载 Android Binder机制の设计与实现1-3(引言/面向对象的 Binder IPC/Binder 通信模型)

摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我

2011-08-10 18:00:19 1996

转载 Android Binder机制の代码角度分析

Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以Med

2011-08-09 14:48:59 1760

原创 Android Recoveryの代码分析

1、调用main函数在gingerbread/bootable/recovery/recovery.c最下面有个main(),这是recovery应用的主入口,当编译recovery的时候,会生成一个名为recovery的可执行文件,我这边是放在out/目录下recovery

2011-08-05 12:53:02 4966

原创 kernel链表操作

代码在/include/linux/list.h中1、INIT_LIST_HEADstatic inline void INIT_LIST_HEAD(struct list_head *list){ list->next = list; list->prev =

2011-08-05 11:23:10 1658

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

1、先看MIC电路连接这是个差分输入的例子,MICP2和MICN2是一对差分信号,经过C156的滤波,输入到MIC两端MIC两引脚分别是到地和供电,上图的R177参数就关系到MIC输入的灵敏度2、电阻R177影响灵敏度分析MICBIAS是提

2011-08-05 09:48:34 40299 5

原创 声音、音频采样率、采样精度等常识概念

什么是声音?能量波,有频率有振幅,人耳能听到的频率范围是200-20KHz,什么是CODEC?音频压缩CO+解压缩DEC,CODEC就是多媒体数字信号编解码器,主要负责DAC和ADC。不管是音频加速器好,还是I/O控制器好,

2011-08-04 19:08:07 46148 1

原创 snd_soc_codec_device 之 snd_soc_new_pcms(下)

(2)soc_new_pcm根据card->num_links,创建所有的pcm,主要是播放流playback 和录音流record ,每次创建新PCM都是调用static int soc_new_pcm(struct snd_soc_device *socdev

2011-08-04 16:54:05 3465

原创 snd_soc_codec_device 之 snd_soc_new_pcms(上)

以wolfsen的wm8900 codec为例,在wm8900.c中可以看到struct snd_soc_codec_device soc_codec_dev_wm8900 = {.probe = wm8900_probe,.remove = wm8900_remov

2011-08-04 16:09:39 2706

原创 LM4890功放电路的分析

一、电路图    先发个图来看看,这个图是LM4890在MPN中常用到的电路。二、LM48920介绍1、大概描述    LM4890 是一款主要为移动电话和其他便携式通信设备中的应用而设计的音频功率放大器。在5V 直流供电下,它可以将1W

2011-08-02 21:53:05 17369 2

原创 getopt_long(argc, argv, "", OPTIONS, NULL)分析

static const struct option OPTIONS[] = {  { "factory_test", no_argument, NULL, 'f'+'t'},  { "send_intent", required_argument, NULL,

2011-08-02 11:09:03 2348

原创 三款主流便携设备codec tlv320aic31xx/wm8900/cs42l5x比较

对比项目对比项目\型号Tlv320aic3110Wm8900Cs42l52Alc5621ADC (THD+N)-85 dB-84 dB-88 dB

2011-08-02 09:01:19 4019 1

原创 Audio codec linux driver 之 ALSA 架构的 DAPM 学习

Dynamic Audio Power Management for Portable Devices ===================================================1. Description ==============

2011-08-02 08:56:03 5847

原创 Android Recoveryの流程分析

关于recovery的代码分析,见另一篇Android Recoveryの代码分析做个升级程序,支持SD卡、U盘、Flash三种路径升级该升级应用程序要和/recovery/sbin/下的recovery配套使用,固件共有boot.img,reco

2011-08-02 08:53:01 7874 1

原创 JDK not found on Installing Android SDK

安装Android SDK的时候,会看到错误提示“Java SE Development (JDK) not found”,但是明明已经安装了好几遍JDK了!!这是在64bit win7的一个问题,系统注册表项并没有正确识别到JDK所在目录,修改注册表项就行了

2011-08-02 08:45:31 3389 1

介绍L2 cache

关于二级缓存的介绍 L2cache存储方式有set way等概念,具体有实例图的

2011-08-26

空空如也

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

TA关注的人

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