alsa-lib和alsa-util安装编译及开发板移植

来源:互联网 发布:js获取子元素属性 编辑:程序博客网 时间:2024/05/18 01:02
最近想在自己的开发板上移植一个音频驱动,所以涉及到了音频测试方面,alsaproject提供了alsa-driver、alsa-lib以及alsa-utils。现在的内核基本都有 了alsa-driver,所以关于他的安装没有进行操作。一下主要总结一下alsa-lib和alsa-utils的安装移植。先准备alsa-lib跟alsa-utils的安装包,我用的是alsa-lib-1.1.5跟alsa-util-1.1.5版本。可以到alsaproject官网下载:http://www.alsa-project.org/main/index.php/Main_Page也可以到chinaunix下载:http://download.chinaunix.net/download/0001000/358.shtml或者到我自己个人上传的资源下载:http://download.csdn.net/download/berlin23/10161057

第一步:alsa-lib安装(虚拟机ubuntu上操作)
1、解压alsa-lib
tar xvj alsa-lib-1.1.5.tar.bz2
2、进入解压出来的文件,对configure
./configure –host=arm-linux –prefix=&PWD/build -enable-shared=yes –disable-python –with-configdir=PWD/build/alsalib/sharewithplugindir=PWD/build/alsa_lib/lib
新版本的lib在配置-enable-shared这部分时要在后面加上=yes,还有注意-enable-shared=yes 跟-enable-static=yes同时存在,不然在后面make的时候会出现conflicting tpye of’ ‘的错误。
PWD这个变量一般是解压文件夹的位置。
–host=后面是你所用的编译器
–prefix生成库的位置
–with-configdir跟–with-plugindir是生成alsa_lib/share和alsa_lib/lib的位置,后面utils的安装会需要用到注意放置好合适的位置,已经在开发板移植的时候也会用到,因为要保持位置一样。
3、make跟make install

第二步:alsa-utils的安装(虚拟机ubuntu上的操作)
1、解压alsa-utils
tar xvj alsa-utils-1.1.5.tar.bz2
2、进入解压出来的文件配置configure.
./configure –host=arm-none-linux-gnueabi -prefix=/home/alsa –with-alsa-inc-prefix=PWD/build/includewithaldaprefix=PWD/build/lib –disable-alsamixer
PWD变量同上,lib的安装文件位置。
-prefix:后面make的时候生成的文件位置。
–with-alsa-inc-prefix:为lib库头文件的位置。
–with-alda-prefix:库的位置。
3、make、make install

通过上面两部,lib跟utils都已经制作好了,接下来是开发板移植了,我使用的开发板是创龙的omapl-138.1.将lib安装时产生的build文件放置到开发板上,要主要,build的位置跟你在虚拟机ubuntu的时候绝对位置要一样,使用这里建议lib安装在/usr/local下。2.将alsa-lib/lib放到开发板默认库搜素目录/lib3.将第二步utils生成的应用程序在(-prefix=/home/alsa)放到开发板/usr/bin跟/usr/sbin文件中。

4/编辑$rootfs/etc/init.d/rcS,添加如下几行
#alsa_init
mkdir /dev/snd
ln /dev/controlC0 /dev/snd/controlC0
ln /dev/pcmC0D0c /dev/snd/pcmC0D0c
ln /dev/pcmC0D0p /dev/snd/pcmC0D0p
ln /dev/timer /dev/snd/timer

amixer cset numid=86 2
amixer cset numid=87 2
5、编辑$rootfs/etc/profile,添加如下两行
#alsa_init
export ALSA_CONFIG_PATH=/usr/share/arm-alsa/share/alsa/alsa.conf
Tips:该环境变量的值必须与alsa安装目录保持一致,否则使用aplay和arecord时会报错
至此alsa-lib、alsa-util移植完毕.

测试

1.测试能否正常播放,使用命令

aplay test1.wav

test1.wav为已录制好的正常音频文件

2.测试能否正常录音,使用命令

arecord -d 10 -fdat test2.wav

原创粉丝点击