本文主要是介绍Alsa驱动移植,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:程姚根,华清远见嵌入式学院讲师。
一. 下载alsa所需要的库和测试alsa的测试工具,此次使使用的是alsa-lib-1.0.24.1.tar.bz2、alsa-utils-1.0.24.2.tar.bz2。
二. 默认情况下内核已经支持alsa驱动,保险情况下先去确认一下,如下图:
Device Drivers --->
Sound card support --->
Advanced Linux Sound Architecture --->
ALSA for SoC audio support --->
<*> SoC Audio for the Samsung S3CXXXX chips
三. 解压alsa-lib和alsa-utils
对于alsa-lib,进行配置,运行:
./configure –host=arm-none-linux-gnueabi –prefix=/home/linux/cyg_bin/arm/alsa/alsa_lib
Make
Make install
对于alsa-utils,进行配置,运行:
./configure -–host=arm-none-linux-gnueabi -–prerix=/home/linux/cyg_bin/arm/alsa/alsa_utils --with-alsa-inc-prefix=/home/linux/cyg_bin/arm/alsa/alsa_lib/include –-with-alsa-prefix=/home/linux/cyg_bin/arm/alsa/alsa_lib/lib –-disable-alsamixer –-disable-xmlto
Make
Make install
参数说明:
--host 指定编译出来软件运行的平台,--prefix指定make install安装的路径(如:include、lib、bin等)
四.移植到开发板
在开发板上发布alsa库.除了libasound.so库以外,必须还要把 alsa.conf发布到板上,这个文件可以在make install后在你安装目录下的share找到alsa目录,把这个目录整个拷贝到开发板即可。
注意:如果提示找不到某某目录下的alsa.conf,只要在开发板上按照提示建立相应的目录,再把share目录,考到相应目录下
五、测试
用cat /proc/asound/devices可以看到:
正常情况下,在你的/dev/snd会看到如下设备结点(有例外,就是内核驱动调整了结点位置),用ls -l /dev/snd 可以看到:
注意:如果出现如下错误
这说明,在开饭板上的dev目录下,没有snd这个目录,需要自己手动添加此目录,再把相应的设备节点添加到这个目录下(就是上面ls –l /dev/snd下的那下设备节点,可以在dev目录下找到)
这篇关于Alsa驱动移植的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!