![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JZ2440 ALSA声卡
殷忆枫
这个作者很懒,什么都没留下…
展开
-
JZ2440 ALSA声卡笔记1---ALSA驱动框架
1、声卡驱动程序sound.c(1)入口函数里通过register_chrdev()函数注册file_operations 结构体(2)file_operations 结构体,里面只有open函数,没有发现读写函数,可知open函数是起中转作用的函数,肯定会找到一个新的file_operations 结构体(3)调用过程以minor变量保存传入节点inode结构体的次设备号以mino...转载 2019-02-25 16:36:46 · 351 阅读 · 0 评论 -
JZ2440 ALSA声卡11_编写ALSA声卡应用程序_学习笔记
1、体验(1)ALSA声卡使用体验:使用arecord录音,使用aplay播放,在Alsa-utils里面)准备:cd linux-3.4.2patch -p1 < ../linux-3.4.2_alsa_wm8976_uda1341_jz2440_mini2440_tq2440.patch //打补丁cp config_wm8976_jz2440 .config 或 ...转载 2019-02-26 08:21:43 · 265 阅读 · 0 评论 -
JZ2440 ALSA声卡10_从零编写之添加音量控制_学习笔记
1、设置音量时应用程序的调用过程(1)strace分析: amixer cset numid=1 30 (设置音量)/dev/snd/controlC0openSNDRV_CTL_IOCTL_CARD_INFOSNDRV_CTL_IOCTL_PVERSIONSNDRV_CTL_IOCTL_ELEM_INFOSNDRV_CTL_IOCTL_ELEM_READSNDRV_CTL_IOC...转载 2019-02-26 08:20:08 · 366 阅读 · 0 评论 -
J2440 ALSA声卡9_从零编写之调试——学习笔记
1、调试(1)把程序拷贝到服务器上进行编译(2)把程序放到内核上面去重新配置内核,吧原来的声卡驱动程序去掉a. 修改语法错误 11th_myalsab. 配置内核去掉原来的声卡驱动-&gt; Device Drivers&nbsp; -&gt; Sound card support&nbsp; &nbsp; -&gt; Advanced Linux Sound Architect...转载 2019-02-26 08:18:36 · 194 阅读 · 0 评论 -
JZ2440 ALSA声卡8_从零编写之数据传输_学习笔记
1、引言(1)应用程序使用声卡的时候,数据流程是:应用程序把数据发送给驱动,驱动把数据发送给硬件声卡,声卡把数据转换成声音数据播放出去。(2)可以使用两种方式发送数据第一种:app发数据,等驱动处理完后再发下一段(处理完再发下一段就会导致声音会断断续续 )第二种:应用程序不断地发数据,驱动程序不断地取数据,不断地发给硬件。解决了声音断续的问题,但是要创建一个非常大的缓冲区(在驱动...转载 2019-02-26 08:17:45 · 155 阅读 · 0 评论 -
JZ2440 ALSA声卡07_从零编写之参数设置_学习笔记
1、参数设置分析(1)open: soc_pcm_open 依次调用cpu_dai, dma, codec_dai, machine的open或startup函数只在dma的open函数里添加参数相关的代码(2)SNDRV_PCM_IOCTL_HW_PARAMS: soc_pcm_hw_params 依次调用machine,codec_dai,cpu_dai,platform(dma)的hw_...转载 2019-02-25 16:42:35 · 272 阅读 · 0 评论 -
JZ2440 ALSA声卡06_从零编写之框架_学习笔记
1、整体框架(1)图示((DAI(全称Digital Audio Interface)接口)) 在嵌入式系统里面,声卡驱动是ASOC,是在ALSA驱动上封装的一层,包括以下三大块(2)程序框架machine:s3c2440_uda1341.ccodec: UDA1341,WM8976platform:IIS ,DMA2、s3c2440_uda1341.c(参考s3c...转载 2019-02-25 16:41:50 · 193 阅读 · 0 评论 -
JZ2440 ALSA声卡05_分析调用过程_学习笔记
1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程(1)因为旧的strace工具不能识别不能识别alsa声卡驱动程序里面的ioctrl.(2)编译过程参考http://blog.csdn.net/qingkongyeyue/article/details/52228729(3)出现错误需要建立相关的设备节点播放声音和调整音量(4)等待音频播放完,能得...转载 2019-02-25 16:41:02 · 224 阅读 · 0 评论 -
JZ2440 ALSA声卡笔记4-----体验声卡
1 、配置内核支持UDA1341(1)内核 解压内核并打上补丁配置内核platform需要设置哪些配置项,先看一下platform,需要把S3c24xx-i2s.c文件配置上去,dma.c也要配置上去。这些文件对应哪一个配置项,可以通过打开内核目录中以上两个文件所在目录下的Makefile。配置编译项CONFIG_SND_S3C24XX_I2S // s3...转载 2019-02-25 16:39:39 · 335 阅读 · 0 评论 -
JZ2440 ALSA声卡笔记3--ASoC驱动重要结构体关系图
1、ASoC中重要的数据结构之间的关联方式(1)Kernel-2.6.35-ASoC中各个结构的静态关系 &转载 2019-02-25 16:38:51 · 248 阅读 · 0 评论 -
JZ2440 ALSA声卡笔记2---ASoC驱动框架
1、简单了解一下ASOC在嵌入式系统里面的声卡驱动为ASOC(ALSA System on Chip) ,它是在ALSA 驱动程序上封装的一层 分为3大部分,Machine,Platform和Codec ,三部分的关系如下图所示:其中Machine是指我们的开发板,Platform是指Soc,而Codec是指编解码器(如uda1341)(1)machine...转载 2019-02-25 16:38:08 · 255 阅读 · 0 评论 -
JZ2440 基于ALSA的WAV播放和录音程序
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sepnic/article/details/6140824 这段时间在探索ALSA架构,从ALSA Core到ALSA Lib,再到Android Audio System。在看ALSA Lib时,写了一个比较典型的基于ALSA的播放录音程序。程序包包含四个部分:WAV Par...转载 2019-02-26 08:25:31 · 552 阅读 · 0 评论