RK3399基于ubuntu文件系统的audio调试

RK3399基于ubuntu文件系统的audio调试

Kernel:4.4

背景:使用rk3399的开发环境,codec使用alc5640,Linux系统用自制的ubuntu。

步骤:
1.移植好驱动,确认声卡设备创建
2.ubuntu安装alsa lib和alsa utils
3.根据寄存器调试通路,播放测试文件

1.移植好驱动,确认声卡设备创建

# cat /proc/asound/cards 
 0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codec
                      rockchip,rt5640-codec

#ls /dev/snd/
by-path  controlC0  pcmC0D0c  pcmC0D0p  seq  timer

查看寄存器
# cat /sys/kernel/debug/regmap/1-001c/registers 

播放时
# cat /proc/asound/card0/pcm0p/sub0/hw_params 

# cat /proc/asound/card0/pcm0p/sub0/sw_params

以上信息确认无误后到第二步

2.ubuntu安装alsa lib和alsa utils

到alsa官网http://www.alsa-project.org下载alsa-lib和alsa-utils
tar -xvf alsa-lib-XXXXXX.tar.bz2
cd alsa-lib-XXXXXX
创建install目录,后面安装utils工具要用
./configure --prefix=/home/vampire/alsa/install/
make
sudo make install

alsa-utils是alsa的一个工具包,里面包含有声卡测试和音频编辑的工具

tar -xvf alsa-utils-XXXXXX.tar.bz2
./configure --prefix=/home/vampire/alsa/install/ --with-alsa-inc-prefix=/home/vampire/alsa/install/include --with-alsa-prefix=/home/vampire/alsa/install/lib
make

3.调试通路,播放测试文件

默认音频是关闭的,需要打开通路
下面以耳机为例(系统需能正确识别到耳机插拔)
根据5640的规格书确认需要打开的寄存器
在这里插入图片描述
在这里插入图片描述

参考对应配置文件external\alsa-config\cards\rockchip_rt5640.conf

amixer cset numid=51,iface=MIXER,name=‘DAI select’ 1
amixer cset numid=5,iface=MIXER,name=‘HP Channel Switch’ on on
amixer cset numid=116,iface=MIXER,name=‘HPO MIX DAC2 Switch’ on
amixer cset numid=58,iface=MIXER,name=‘Mono DAC MIXL DAC L2 Switch’ on
amixer cset numid=61,iface=MIXER,name=‘Mono DAC MIXR DAC R2 Switch’ on
amixer cset numid=91,iface=MIXER,name=‘HP L Playback Switch’ on
amixer cset numid=92,iface=MIXER,name=‘HP R Playback Switch’ on

播放wav测试文件
aplay test1k.wav

喇叭Speaker通路配置
https://blog.csdn.net/vcsuanfadaima/article/details/112279334

在Ubuntu上安装sox:
$ sudo apt-get install sox libsox-fmt-all
libsox-fmt-all包含mp3的解码器和其它格式的解码器。
播放音乐:
$ play Crystals.mp3

使用alsamixer可以调节音量

后记

因为ubuntu系统镜像文件需要上传服务器,并且需要在制作好的镜像中包含alsa功能,所以需要在打包ubuntu的image之前就添加好alsa相关库和工具。

由于挂载制作时是root权限,导致编译配置utils出现错误如下
error:this packages requires a curses library
目前并未找到直接解决办法。怀疑是配置utils时未添加 --disable-alsamixer --disable-xmlto

make utils时报错可以这样解决,最后make install结束
touch alsaconf/po/t-ja.gmo
touch alsaconf/po/t-ru.gmo

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值