AM335X 配置TLVaic3104的问题
各位好:
我正在配置音频,i2c,i2s都已经配置好了,并且启动时都可以识别ALSA list,可是在我播放事先保存的wav文件时,系统崩溃了,求解,求帮助,谢谢。
启动log如下:已经可以识别
+++++++++++++++zhouqun aic3x_i2c_probe
[ 1.595245] control_type = SND_SOC_I2C
[ 1.599273] ++++++snd_soc_register_codec:0
[ 1.603698] +++++++++++++++zhouqun aic3x_i2c_probe
[ 1.608795] control_type = SND_SOC_I2C
[ 1.612792] ++++++snd_soc_register_codec:0
[ 1.618621] ++++zhouqun am335x_evm?
[ 1.623077] ++++++++++soc_bind_dai_link
[ 1.627136] ++++++++zhouqun:binding TLV320AIC3X at idx 0
[ 1.633026] +++++++++++++++ aic3x_probe
[ 1.638793] ++++++++++++++aic3x_probe FINISHED
[ 1.646301] +++++zhouqun:evm_aic3x_init
[ 1.651947] asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
[ 1.664703] ALSA device list:
[ 1.667877] #0: AM335X EVM
播放音乐时崩溃log如下:
7777] 9700: df059784 df059710 c0018098 c00412b0 df0582f0 0000000b bf000000 00000008
[ 525.386474] 9720: 65059888 63306131 20643030 64323965 30303864 34326520 30306263 35652034
[ 525.395141] 9740: 31333039 28206332 33313565 34303030 c0002029 c0400e20 c04fd1a8 fffffffc
[ 525.403869] 9760: 00000017 00000000 df059888 fffffffc c0056774 df058000 df05979c df059788
[ 525.412567] 9780: c0400b44 c0017f88 df059888 df02ab80 df0597d4 df0597a0 c001a830 c0400af4
[ 525.421264] 97a0: df0597cc df0597b0 c02137ac 00000017 c001a648 c05be75c fffffffc df059888
[ 525.429962] 97c0: c0056774 df058000 df059884 df0597d8 c00083b0 c001a654 df059804 c05f9ecc
[ 525.438659] 97e0: c0622550 0004d36a c05daa00 0000003c c0622550 c0622550 df05982c df059808
[ 525.447357] 9800: c003e5c0 c0216c74 0000d3a6 0004d3a6 c05daa00 c05daa00 0004d3a6 ffff0000
[ 525.456054] 9820: df059844 df059830 c003e820 c003e548 00000000 0004d3a6 df05987c df059848
[ 525.464752] 9840: c003ebe8 c005b1c8 0004d3a6 00000000 c01cc7d0 df0598c4 df0598c4 00000003
[ 525.473449] 9860: 00000042 c0056770 20000193 ffffffff df0598bc df02a8c0 df0598dc df059888
[ 525.482147] 9880: c0014318 c0008380 df02a8c0 00000000 cb54ff11 00000000 00000000 df058000
[ 525.490875] 98a0: c05da4b0 df02aa18 df02a8c0 c0056774 df058000 df0598dc df0598e0 df0598d0
[ 525.499572] 98c0: c0052b94 c0056770 20000193 ffffffff df0598f4 df0598e0 c0052b94 c005676c
[ 525.508270] 98e0: 00000020 c05da4b0 df05992c df0598f8 c0404908 c0052b8c 00000001 c0404afc
[ 525.516967] 9900: c0056774 0000000b 00000000 df02ab80 00000001 c0056772 c0056774 df058000
[ 525.525634] 9920: df05993c df059930 c0404afc c04046b8 df059974 df059940 c00418c4 c0404ab8
[ 525.534332] 9940: 00000000 df0599ba df058000 c0056772 c0056774 df058000 df059974 df059968
[ 525.543029] 9960: c003e534 00000001 df0599ec df059978 c0018098 c00412b0 df0582f0 0000000b
[ 525.551727] 9980: bf000000 00000008 65059af0 63306131 20643030 64323965 30303864 34326520
[ 525.560424] 99a0: 30306263 35652034 31333039 28206332 33313565 34303030 c0002029 c0400e20
[ 525.569122] 99c0: c04fd1a8 fffffffc 00000017 00000000 df059af0 fffffffc c00384e8 df058000
[ 525.577819] 99e0: df059a04 df0599f0 c0400b44 c0017f88 df059af0 df02ab80 df059a3c df059a08
[ 525.586486] 9a00: c001a830 c0400af4 df059a34 df059a18 c02137ac 00000017 c001a648 c05be75c
[ 525.595184] 9a20: fffffffc df059af0 c00384e8 df058000 df059aec df059a40 c00083b0 c001a654
[ 525.603881] 9a40: df059a6c c05f9ecc c0622550 0004b055 c05daa00 0000003c c0622550 c0622550
[ 525.612609] 9a60: df059a94 df059a70 c003e5c0 c0216c74 0000b091 0004b091 c05daa00 c05daa00
[ 525.621276] 9a80: 0004b091 ffff0000 df059aac df059a98 c003e820 c003e548 00000000 0004b091
[ 525.629974] 9aa0: df059ae4 df059ab0 c003ebe8 c005b1c8 0004b091 00000000 c01cc7d0 df059b2c
[ 525.638671] 9ac0: df059b2c 00000003 00000042 c0056770 20000193 ffffffff df059b24 df02a8c0
[ 525.647369] 9ae0: df059b44 df059af0 c0014318 c0008380 df02a8c0 00000000 cb54ff11 00000000
[ 525.65606
CTRL-A Z for help |115200 8N1 | NOR | Minicom 2.5 | VT102 | Online 00:11
附上播放音乐时崩溃的代码:
root@am335x-evm:/test# aplay -D hw:0,0 123.wav
Playing WAVE '123.wav' : Signed 16 bit Little En[ 299.717620] Unable to handle kernel NULL pointer dereference at virtual address 000c
dian, Rate 44100[ 299.727325] pgd = c0004000
Hz, Stereo
[ 299.731567] [0000002c] *pgd=00000000
[ 299.736511] Internal error: Oops: 17 [#1]
[ 299.740783] Modules linked in: wl12xx_sdio(O)
[ 299.745422] CPU: 0 Tainted: G W O (3.2.0 #14)
[ 299.751190] PC is at regulator_enable+0xc/0x220
[ 299.755981] LR is at regulator_bulk_enable_async+0x18/0x20
[ 299.761840] pc : [<c01f8500>] lr : [<c01f872c>] psr: 60000013
[ 299.761840] sp : df05bed0 ip : df05bef8 fp : df05bef4
[ 299.774017] r10: df7a98c0 r9 : df05a000 r8 : df7a98c8
[ 299.779571] r7 : c005cb24 r6 : df014200 r5 : df015480 r4 : df1020c4
[ 299.786499] r3 : 00000000 r2 : 0000001c r1 : c01f8714 r0 : 00000000
[ 299.793426] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 299.801177] Control: 10c5387d Table: 9f398019 DAC: 00000015
[ 299.807281] Process kworker/u:1 (pid: 8, stack limit = 0xdf05a2f0)
[ 299.813842] Stack: (0xdf05bed0 to 0xdf05c000)
[ 299.818481] bec0: 00000000 df1020c4 df015480 df014200
[ 299.827178] bee0: c005cb24 df7a98c8 df05bf0c df05bef8 c01f872c c01f8500 00000000 c061f41c
[ 299.835876] bf00: df05bf4c df05bf10 c005cb9c c01f8720 df1d1300 df7a98c8 df015480 df014200
[ 299.844573] bf20: df05bf3c df05bf30 df7a98c8 df015480 df014200 c005cb24 00000000 00000000
[ 299.853240] bf40: df05bf84 df05bf50 c0051598 c005cb30 c0633cb0 df015490 c0633cb0 df015480
[ 299.861938] bf60: c0633cb0 df015490 c05dbeec c0633ca8 c0633ca8 df05a000 df05bfbc df05bf88
[ 299.870666] bf80: c0051ef8 c0051488 df015480 c0051d7c 00000013 df035ee4 df015480 c0051d7c
[ 299.879364] bfa0: 00000013 00000000 00000000 00000000 df05bff4 df05bfc0 c005661c c0051d88
[ 299.888061] bfc0: df035ee4 00000000 df015480 00000000 df05bfd0 df05bfd0 00000000 df035ee4
[ 299.896759] bfe0: c0056590 c00412a4 00000000 df05bff8 c00412a4 c005659c ffff0000 ffff0000
[ 299.905426] Backtrace:
各位好:
那个播放音乐崩溃的问题已经解决了,现在又遇到了新的问题,log在下面,请大家帮帮忙,看看额,新人一枚。
root@am335x-evm:/test# aplay -v 123.wav
Playing WAVE '123.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Hardware PCM card 0 'AM335X EVM' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 46439
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 32768
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
appl_ptr : 0
hw_ptr : 0
[ 2454.069274] playback write error (DMA or IRQ trouble?)
aplay: pcm_write:1710: write error: Input/output error
root@am335x-evm:/test#
TI 的 FAE能帮忙看下吗?这种情况一般由什么原因导致呢?时钟配置个?谢谢阿。
我觉得这种情况, 基本在于时序控制, 发送的命令数据, 以及内部足够的延时的条件.
参考手册细细验证