移植alsa_lib到ARM210开发板

来源:互联网 发布:c语言闰年计算方法 编辑:程序博客网 时间:2024/06/05 08:28

移植alsa_lib到tiny210开发板

1.从官网下载源码

http://www.alsa-project.org/main/index.php/Main_Page

http://www.alsa-project.org/main/index.php/Download

alsa_lib 1.0.28和alsa_utils 1.0.28

2.把源码拷到装有linux系统的电脑上,解压

我从官网上下的源码包是.tar.bz2格式的,所以解压命令用 tar- xjf

tar -xjf alsa-lib-1.0.28.tar.bz2
3.编译slsa_lib

先进行编译前的configure ,怎样配置可以从网上找类似的移植配置,也可以使用./configure --help,查看源码的配置帮助

我的配置命令为

./configure --host=arm-linux --prefix=/gzz/cross_compile/alsa_lib --with-configdir=/usr/local/share --with-libiconv-prefix=/gzz/cross_compile/alsa_lib CFLAGS="-I/gzz/cross_compile/alsa_lib/include" LDFLAGS="-L/gzz/cross_compile/alsa_lib/lib -lasound -liconv" --disable-alsamixer --disable-xmlto

make ; make install;

4.编译alsa_utils

和上面的类似的过程,使用./configure --help 查看配置帮助,发现需要一个依赖库libiconv,所以编译alsa_utils前需要安装libiconv这个库,

所以先从网上下载libiconv这个库,然后

tar xzvf libiconv-1.14.tar.gz 

cd libiconv-1.14/

 ./config --host=arm-linux --prefix=/gzz/cross_compile/alsa_lib/

make ; make install;

然后可以编译alsa_utils了

./configure --host=arm-linux --prefix=/gzz/cross_compile/alsa_lib  --with-libiconv-prefix=/gzz/cross_compile/alsa_lib CFLAGS="-I/gzz/cross_compile/alsa_lib/include" LDFLAGS="-L/gzz/cross_compile/alsa_lib/lib -lasound -liconv" --disable-alsamixer --disable-xmlto

make ; make install;

5.把把编译好的库文件之类的拷到开发板上

前面配置的时候都指定了编译好的库的路径,在--prefix=/gzz/cross_compile/alsa_lib目录下的lib目录下有动态链接库.so文件,bin目录下有alsa_utils编译过的应用程序,

把这些拷到开发板上,可以用nfs文件系统拷,也可以拿u盘拷,我的是用u盘拷的,因为挂nfs后,声卡驱动加载总出问题

注意:这里面最关键的一个,前面配置alsa_lib是有一个配置选项--with-configdir=/usr/local/share,配置了这个后会在指定的这个目录下生成一些配置文件,这些文件要拷到开发板的同样的目录下,在这里我的是/usr/local/share,如果开发板下没有这个目录,就自己建一个,,,拷贝完成后,可以进行测试了

6.测试

先测试下开发板的声卡驱动是否正确

cat /dev/sound/dsp > audio.wav

录音到audio.wav文件

cat audio.wav > /dev/sound/dsp

放音,测试正常后,使用alsa_utils编译出来的应用程序aplay测试库是否移植成功

开发板终端下输入./aplay audio.wav

会播放刚刚录的音,正常,移植成功

0 0
原创粉丝点击