alsa-lib和alsa-util在TQ2416上的移植

来源:互联网 发布:深圳华夏软件学校招生 编辑:程序博客网 时间:2024/04/30 12:25
下载alsa-lib-1.0.25.tar.bz2和alsa-utils-1.0.25.tar.bz2。
交叉编译alsa-lib:
1.解压:tar jxf alsa-lib-1.0.25.tar.bz2
2.配置:
cd alsa-lib-1.0.25/
./configure --host=arm-linux --prefix=/home/yuntaohe/tmp-alsa-lib --with-alsa-devdir=/dev --enable-shared  --disable-python --with-configdir=/home/yuntaohe/tmp-alsa --with-plugindir=/home/yuntaohe/tmp-alsa
--with-alsa-devdir=/dev,是指定声卡的字符文件节点在/dev目录下,如不指定,alsa应用程序默认声卡的字符文件节点在/dev/snd目录下,配置时也可以不使用--with-alsa-devdir=/dev选项,将/dev/controlC0,/dev/pcmC0D0p,/dev/pcmC0D0c,/dev/mixer,/dev/timer复制到/dev/snd目录下即可,也可以使用软链接指定。
3.编译:make -j8
4.安装:make install
完成后会在/home/yuntaohe/tmp-alsa目录下生产如下目录:
alsa.conf  alsa.conf.d  cards  pcm  smixer  smixer.conf  sndo-mixer.alisp
在/home/yuntaohe/tmp-alsa-lib目录下生成如下文件和目录:
bin  include lib share
5.拷贝相关文件到根文件系统:
cd /home/yuntaohe/tmp-alsa
cp * ~/work/TQ2416/rootfs/home/yuntaohe/tmp-alsa/ -rf
cd ~/tmp-alsa-lib/
cp lib/*so* ~/work/TQ2416/rootfs/lib/ -rfd

交叉编译alsa-util:
1.解压:tar jxf alsa-utils-1.0.25.tar.bz2
2.配置:
cd alsa-utils-1.0.25/
./configure --host=arm-linux --prefix=/home/yuntaohe/tmp-alsa-util CFLAGS="-I/home/yuntaohe/tmp-alsa-lib/include" LDFLAGS="-L/home/yuntaohe/tmp-alsa-lib/lib -lasound" --disable-alsamixer --disable-xmlto --with-alsa-inc-prefix=/home/yuntaohe/tmp-alsa-lib/include --disable-nls

CFLAGS="-I/home/yuntaohe/tmp-alsa-lib/include"和-with-alsa-inc-prefix=/home/yuntaohe/tmp-alsa-lib/include是指定alsa-lib编译出来的头文件的路径,LDFLAGS="-L/home/yuntaohe/tmp-alsa-lib/lib -lasound"是指定编译出来的alsa的库文件路径。
3.编译:make -j8
4.安装:make install,报错:
/usr/bin/install: cannot remove `/lib/udev/rules.d/90-alsa-restore.rules': Permission denied
make[3]: *** [install-dist_udevrulesDATA] Error 1
make[3]: Leaving directory `/home/yuntaohe/work/TQ2416/alsa/alsa-utils-1.0.25/alsactl'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/yuntaohe/work/TQ2416/alsa/alsa-utils-1.0.25/alsactl'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/yuntaohe/work/TQ2416/alsa/alsa-utils-1.0.25/alsactl'
make: *** [install-recursive] Error 1

解决方法:sudo make install即可,完成后会在/home/yuntaohe/tmp-alsa-util目录下生成如下目录:
bin  sbin  share
5.拷贝相关app到根文件系统:
cd /home/yuntaohe/tmp-alsa-util
cp bin/* ~/work/TQ2416/rootfs/bin/
cp sbin/* ~/work/TQ2416/rootfs/sbin/

烧写根文件系统到开发板,播放wav文件:
cd /home
aplay 00_01_40-00_01_55.wav
0 0
原创粉丝点击