S3C2410:DMA介紹(精)

之所以要介绍DMA,因为它对性能太重要了!只有活用了DMA,CPU的性能才能上去!S3c2410有四个DMA,每个DMA支持工作方式基本相同,但支持的source Dest可能略有不同,具体见Datasheet。 这里具体DMA CONTROL寄存器(DCON)的配置说明,进而引出DMA的各...

2012-12-27 10:11:05

阅读数:2749

评论数:0

Linux下多线程程序调试方法

原文地址 多线程程序可能存在很多潜在的bug,如data race,dead lock,信号bug等,而这些bug一向很难调试,现在有很多论文都是基于多线程程序的调试技术的,比如model check,死锁检测,replay技术等,也有很多对应的工具,如intel的pinplay,微软的Zi...

2012-12-26 14:30:21

阅读数:1435

评论数:0

系统什么时候发送SIGKILL信号

when does the system send SIGKLILL 我的程序有时候会随机收到SIGKILL信号,gdb会提示: Program terminated with signal SIGKILL, Killed. The program no longer exi...

2012-12-26 13:41:15

阅读数:1381

评论数:0

linux设备驱动归纳总结(四):5.多处理器下的竞态和并发

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 这节将在上一节的基础上介绍支持多处理器和内核抢占的内核如何避免并发。除了内核抢占和中断外,由于多处理起的缘故,它可以做...

2012-12-26 12:29:55

阅读数:1066

评论数:0

linux_sound_alsa_ALSA体系SOC子系统中hw_params逻辑

linux/sound目录下ALSA体系SOC子系统中hw_params逻辑 链接分析:     core/pcm_native.c文件中snd_pcm_hw_params()函数调用err = substream->ops->hw_params(substream, para...

2012-12-26 10:49:46

阅读数:2964

评论数:0

linux_sound_alsa_Android+alsa音频系统中的几个问题

1.Android+alsa音频体系大体结构:     从alsa的角度由下往上看:linux中有alsa驱动层,其中,/sound/core/pcm_native.c文件中的snd_pcm_f_ops是alsa驱动层对alsa_lib层的接口;Android中有alsa_lib层(在don...

2012-12-26 10:46:18

阅读数:2346

评论数:0

linux_sound_alsa_ALSA体系SOC子系统中数据流分析

前言:     linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚。先分析alsa驱动层,然后关联到alsa库层和应用层。   链接分析:     core/pcm_native.c文件中.mmap = snd_pcm_mmap调用snd_pcm_mmap_da...

2012-12-26 10:40:10

阅读数:2004

评论数:1

alsa 音频路径的问题:

alsa 音频路径的问题: 在sound/soc/codecs目录中有很多音频codec的codec驱动,我使用的是wm9713,AP是s3c6410;这里个驱动文件中定义了很多widget和control,alsa在playback或record的时候,sound/soc/soc-dapm.c...

2012-12-26 10:16:00

阅读数:3004

评论数:0

FS_S5PC100平台上WM9714 ALSA音频移植

FS_S5PC100平台上WM9714 ALSA音频移植       一、驱动的移植     这个驱动在内核中支持,我们只需要进行简单的配置就行了,配置如下:     $ make menuconfig     Device Drivers --->       ...

2012-12-26 10:06:48

阅读数:1565

评论数:0

DAPM之三:audio paths与asound.conf

其实asound.conf真跟dapm没多大关系,之所以把它也纳入dapm系列之一,是为了考虑到知识的连贯性。在DAPM之二:AUDIO PATHS与dapm kcontrol>提到:通过配置好asound.conf,上层则可打开asound.conf中定义的虚拟设备,而自动选择相应的音频通...

2012-12-24 17:04:47

阅读数:690

评论数:0

DAPM之二:audio paths与dapm kcontrol

在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kcontrol,主要用于切换音频路径。   一、AUDIO PATHS OVERV...

2012-12-24 16:56:11

阅读数:653

评论数:0

snd_kcontrol探究

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

2012-12-24 16:23:53

阅读数:682

评论数:0

Linux驱动的开发与移值——为Tiny210加入AC97驱动Wm9713

文章目的:记录声卡驱动开发的学习过程,本文只是讲解了声卡驱动开发过程中的驱动的基本文件体系结构,暂没有对内核增加新的代码。通过简单的修改配置,让Tiny210具备Ac97的驱动,兼容Tiny6410的声卡芯片Wm9713。 上一篇文章《Linux驱动的开发与移值——分析Tiny210的声卡驱...

2012-12-24 16:02:41

阅读数:1157

评论数:0

音频电源动态管理(一)---国人当自强

直接来自内核的\Documentation\sound\alsa\soc中dapm.txt 1.描述 音频电源动态管理(DAPM)的目的是为了在音频子系统中允许便携式的linux设备一直使用最小的电量。它独立于其它内核电源管理,因此可以很方便的和其它电源管理系统共存。 DAPM对于所有用户空...

2012-12-21 23:16:03

阅读数:1000

评论数:0

Linux alsa驱动中的CODEC寄存器配置问题

调试Audio CODEC时,有时候需要读codec寄存器的值以确认是否配置寄存器成功。  记得之前调试wm8978时,发现这个CODEC的寄存器不能读,每次读的结果都是0xff.  后来在linux上调试wm8978时,用snd_soc_read()又能读到所配置的值,感觉很诧异。当时也没有...

2012-12-20 15:31:16

阅读数:1246

评论数:0

Linux 固件子系统----如何更新固件

在一般的使用中,可能会需要使用到升级固件这个功能,在linux的系统中提供了固件子系统这个设备模型来帮助快速的升级固件。 在这里先将linux中提供的常用的接口来说明下: 内核的固件接口: [cpp] view plaincopy #includ...

2012-12-19 19:22:34

阅读数:1028

评论数:0

softlock---Kernel panic - not syncing: softlockup: hung tasks

第一次解一个softlockup的bug,FAE回复的信息都不能很好的分析问题的根源,而且之前对softlockup的认识比较肤浅, 所以自己捣鼓这怎么让kernel自己产生个softlockup的warning出来。   基本原理: 每个CPU上起一个kernel thr...

2012-12-19 17:03:56

阅读数:5130

评论数:1

内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决(解释SIGKILL原因)

内存不足引起的SIGKILL:一个缓冲区不断增长问题的定位与解决(解释SIGKILL原因) 新版本的录制程序终于快完工了,在添加了一个新特性“报警录制”后,就开始测试了。 一开始就不顺利:程序正常运行一段时间后就会崩溃,由于程序添加了守护进程,在崩溃后会自动重启。 ...

2012-12-19 13:48:37

阅读数:7707

评论数:0

Linux内核里的DebugFS

DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。 通常情况下,最常用的内核调试手段是printk。但...

2012-12-18 18:27:17

阅读数:1301

评论数:0

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

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

2012-12-17 11:23:53

阅读数:1129

评论数:0

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