[RK3288][Android6.0] 音频调试方法小结【转】

本文介绍如何使用tinyalsa工具在ROCKCHIP RK3288平台上排查音频播放问题,并通过对比codec及I2S寄存器状态来定位驱动层故障。

本文转载自:http://blog.youkuaiyun.com/kris_fei/article/details/70053135

Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92

以rt5631为例,后续遇到再增加.

使用tinyalsa工具确定播放音问题是否在驱动层
1|root@rk3288:/data # tinycap  test.wav                                        
Capturing sample: 2 ch, 44100 hz, 16 bit
^CCaptured 167936 frames

root@rk3288:/data # tinyplay test.wav                                          
Playing sample: 2 ch, 44100 hz, 16 bit

查看codec寄存器和正常的对比

root@rk3288:/data # cat /sys/kernel/debug/asoc/RK_RT5631/rt5631.2-001a/codec_reg                         <
00: 0000
01: 0000
//省略...

查看i2s寄存器和正常的对比
root@rk3288:/data # cat /sys/kernel/debug/regmap/ff890000.rockchip-i2s/registers
00: 0000000f
04: 00000000
08: 00033f3f
0c: 00000000
10: 000f0010
14: 00000000
18: 00000000
1c: 00000000
20: 00000000
28: 00000000

查看播放或者录音时的sw/hw parameters:(注意,要在工作的时候才有效)
root@rk3288:/proc/asound/card0/pcm0p/sub0 # cat sw_params                      
tstamp_mode: ENABLE
period_step: 1
avail_min: 1
start_threshold: 1536
stop_threshold: 3072
silence_threshold: 0
silence_size: 0
boundary: 1610612736

root@rk3288:/proc/asound/card0/pcm0p/sub0 # cat hw_params                      
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 512
buffer_size: 3072

硬件部分用示波器量一下I2S是否有信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值