IMX8mp alsa音频调试

Posted 老衲开心用飘柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IMX8mp alsa音频调试相关的知识,希望对你有一定的参考价值。

1、硬件环境:

soc: im8mp

bt: cypress CYW43455, 并通过M2接口连接到imx8mp开发板。

2、硬件连接:

3、综述:

BT通过M2接口连接到IMX8mp开发板,M2接口中包含了PCM总线、UART、BT_EN引脚。

通话音频播放,BT使用imx8mp默认PCM接口,所以默认情况下无需额外配置,imx8会自动识别并加载音频设备,通过aplay -l 指令可以发现对应card2设备。通过card2音频设备可以进进行音频通话。播放音频到card2代表本地手机A通话输入,从card2录入音频代表远端手机B通话输入。

音乐音频播放,BT将从手机接收的A2DP数据传送到Host协议栈,协议栈打开PCM设备即WM8960设备进行编解码并通过imx8mp开发板默认耳机接口输出。

附加:协议栈需求的libasound.so即alsa库,imx8mp交叉编译工具以及linux系统内已默认包含且可用,所以无需单独编译alsa库,编译协议栈时仅需要source /opt环境变量并编译即可。

4、imx8mp本地音频设备列表:

5、录音和播放测试:

使用wm8960录音和播放:

arecord  -D plughw3,0 1.wav

aplay -D plughw:3,0 1.wav

使用bt pcm总线录音和播放:

arecord  -D plughw:2,0 1.wav

aplay -D plughw:2,0 1.wav

调整音量:

alsamixer

6、协议栈测试:

(1)设置音频配置文件/etc/asound.conf, 配置默认card和device.

(2)协议栈测试电话:

录音:arecord  -D plughw:2,0 1.wav &

运行协议栈,连接手机A并拨打手机B并接通,对手机B说话,录入声音。

播放:aplay  -D plughw:3,0 1.wav通过wm8960播放录音, 或 aplay  -D plughw:2,0 1.wav &

运行协议栈后,连接手机A并拨打手机B并接通,从手机B观察是否有录音播放。

(3)协议栈测试音频:

运行协议栈,连接手机并播放音乐,观察wm8960的耳机口是否有音频播放

RK3588平台开发系列讲解(AUDIO篇)Android音频调试--tiny-alsa 工具

平台 内核版本 安卓版本
RK3588 Linux 5.10 Android 12

文章目录

沉淀、分享、成长,让自己和他人都能有所收获!

以上是关于IMX8mp alsa音频调试的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式Bluetooth应用开发笔记第三篇:初探BLUE ALSA应用开发

arm linux利用alsa驱动并使用usb音频设备

Arm-Linux 移植 alsa

韦东山嵌入式Linux视频教程_3期项目实战之ALSA声卡_从零编写之调试(基于优龙FS2410开发板,UDA1341声卡)

RK3588平台开发系列讲解(AUDIO篇)Android音频调试--tiny-alsa 工具

RK3588平台开发系列讲解(AUDIO篇)Android音频调试--tiny-alsa 工具