ALSA_drv
alsa
qq_34738528
这个作者很懒,什么都没留下…
展开
-
14.编写ALSA声卡应用程序
目录1、体验(1)ALSA声卡使用体验:(2)使用新内核启动并测试(3)修改程序后编译新内核并重新启动调试(4)声音有很多噪声(5)对于mini2440,重新配置内核2. 编写一个应用程序(1)分析(2)main函数(3)打开设备(4)关闭声卡设备和打开播放/录音设备3、Makefile4、实验1、体验(1)ALSA声卡使用体...原创 2020-04-14 16:17:55 · 225 阅读 · 0 评论 -
11.从零编写之WM8976
1、修改(1)我们只关系codec这一部分(2)machine的dai_link部分2、wm8976回顾(1)先发出七位的地址值,再发出九位的数据2、codec部分...原创 2020-04-14 15:20:39 · 163 阅读 · 0 评论 -
声音采集播放及IIS接口介绍
目录1、硬件接口(1)硬件原理图(2)2410和声卡连接图(3)声音采集(4)录音和播放2、IIS(1)(2)最多支持16位数据(3)传输8位数据时,因为有16个时钟,所以后面八位填01、硬件接口(1)硬件原理图IIS部分用来传声音和收声音,L3接口部分用来控制声音。(2)2410和声卡连接图(3)声音采集(4)录...原创 2020-04-12 15:26:31 · 295 阅读 · 0 评论 -
uda1341原理+介绍
uda1341连接soc的引脚分为两类:数据引脚、控制引脚。 数据引脚用于音频码流的传输, 控制引脚用于该声卡芯片控制,比如说音量控制等如下图为uda1341的声卡其中连接soc的引脚用红框框了出来上面那个是数据传输引脚下面的是控制引脚引脚说明: CDCLK : uda1341的工作时钟 I2SSCLK : 码流一位所用的时钟 I2...原创 2020-04-12 14:53:35 · 868 阅读 · 0 评论 -
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_READSND...原创 2020-04-13 15:13:49 · 236 阅读 · 0 评论 -
9.从零编写之调试
1、调试(1)把程序拷贝到服务器上进行编译2)把程序放到内核上面去重新配置内核,吧原来的声卡驱动程序去掉a. 修改语法错误 11th_myalsab. 配置内核去掉原来的声卡驱动-> Device Drivers -> Sound card support -> Advanced Linux Sound Architectur...原创 2020-04-10 17:06:16 · 97 阅读 · 0 评论 -
8.从零编写之数据传输
1、引言(1)应用程序使用声卡的时候,数据流程是:应用程序把数据发送给驱动,驱动把数据发送给硬件声卡,声卡把数据转换成声音数据播放出去。(2)可以使用两种方式发送数据第一种:app发数据,等驱动处理完后再发下一段(处理完再发下一段就会导致声音会断断续续)第二种:应用程序不断地发数据,驱动程序不断地取数据,不断地发给硬件。解决了声音断续的问题,但是要创建一个非常大...原创 2020-04-10 17:05:31 · 140 阅读 · 0 评论 -
7.从零编写之参数设置
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,platf...原创 2020-04-10 17:02:50 · 139 阅读 · 0 评论 -
6.从零编写之框架
目录1、整体框架(1)图示((DAI(全称Digital Audio Interface)接口))(2)程序框架2、s3c2440_uda1341.c(参考s3c24xx_uda134x.c)(1)分配一个平台为soc-audio的平台设备(2)名为soc-audio的平台设备3、s3c2440_uda1341.c编写4、uda1341.c(codec)5、s3...原创 2020-04-10 15:48:07 · 120 阅读 · 0 评论 -
bak用strace工具跟踪系统调用
目录编译新的strace工具1、先解压:2、拷贝到服务器上去3、修改strace-4.8目录下的configure的执行权限(在windows上复制过来是没有执行权限的)4、配置:5、编译:6、安装(安装在tmp目录)7、把 tmp/bin目录(有一大堆工具)下的文件拷贝到网络文件系统的bin目录下8、在开发板环境下使用strace工具9、把生成的log文件...原创 2020-04-10 15:33:04 · 240 阅读 · 0 评论 -
5.分析调用过程
目录1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程需要建立相关的设备节点2、调用分析(aplay.log)(搜索设备节点“/dev/snd”)1. /dev/snd/controlC0(控制节点)对应的file_operations是snd_ctl_f_ops2. /dev/snd/pcmC0D0p (播放节点)对应的file_operatio...原创 2020-04-10 15:38:10 · 142 阅读 · 0 评论 -
4.体验声卡
book@book-desktop:/work/system/video2/alsa$ lsncurses-5.9.tar.gzbook@book-desktop:/work/system/video2/alsa$ tar xzf ncurses-5.9.tar.gz book@book-desktop:/work/system/video2/alsa$ export PATH...原创 2020-04-10 14:31:51 · 118 阅读 · 0 评论 -
3.ASoC驱动框架
1.图示在嵌入式系统里面的声卡驱动为ASOC(ALSA System on Chip) ,它是在ALSA 驱动程序上封装的一层 分为3大部分,Machine,Platform和Codec,三部分的关系如下图所示:其中Machine是指我们的开发板,Platform是指Soc,而Codec是指编解码器(如uda1341)...原创 2020-04-09 11:31:15 · 164 阅读 · 0 评论 -
2.ALSA驱动框架
1、声卡驱动程序sound.c(1)入口函数通过register_chrdev()函数注册file_operations 结构体(2)file_operations 结构体里面只有open函数,没有发现读写函数,可知open函数是起中转作用的函数,肯定会找到一个新的file_operations 结构体(3)调用过程以minor变量保存传入节...原创 2020-04-08 16:45:17 · 216 阅读 · 0 评论