R16开发板tina音频系统测试及tinyalsa移植

本文介绍了在R16开发板上,Tina系统与Android系统的音频行为对比,以及如何通过移植tinyalsa来解决Tina系统音频不工作的问题。在移植tinyalsa后,通过aplay命令验证了音频播放功能恢复正常。
摘要由CSDN通过智能技术生成

一、硬件


上面红框是耳机插口,下面红框是Speaker插口。

首先,接上Speaker后,在Android 4.4上,耳机和Speaker都可以正常工作;但是,烧录R16开发板tina系统LCD调试编译的最新Tina系统,不工作。


二、调试

表面上,执行命令:

# cat cards /proc/asound/cards
 0 [audiocodec     ]: audiocodec - audiocodec
                      audiocodec
以上是 Android 4.4的显示,在Tina上则是:sndcodec。查看代码发现,前者声卡实现:

linux-3.4\sound\soc\sunxi\audiocodec\sunxi_sndcodec.c
static struct snd_soc_card snd_soc_sunxi_sndpcm = {
	.name 		= "audiocodec",
	.owner 		= THIS_MODULE,
	.dai_link 	= &sunxi_sndpcm_dai_link,
	.num_links 	= 1,
};
后者声卡定义:

linux-3.4\sound\soc\sunxi\audiocodec\sun8iw5_machine.c
static struct snd_soc_card snd_soc_sunxi_sndpcm = {
	.name 		= "sndcodec",
	.owner 		= THIS_MODULE,
	.dai_link 	= sunxi_sndpcm_dai_link,
	.num_links 	= ARRAY_SIZE(sunxi_sndpcm_dai_link),
	.dapm_widgets = sunxi_ac_dapm_widgets,
	.num_dapm_widgets = ARRAY_SIZE(sunxi_ac_dapm_widgets),
	.dapm_routes = audio_map,
	.num_dapm_routes = ARRAY_SIZE(audio_map),
	.controls = ac_pin_controls,
	.num_controls = ARRAY_SIZE(ac_pin_contr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值