移植alsa-lib与alsa-utils

来源:互联网 发布:枪林弹雨免费刷枪软件 编辑:程序博客网 时间:2024/04/30 08:34

在做zx2000 FPGA验证的时候,因为是用busybox编译的小的rootfs,里面没有alsa-lib与aplay,所以需要自己将alsa-lib与aplay移植到rootfs中。

首先需要到alsa的网站上去下载alsa-lib与alsa-utils:

ftp://ftp.alsa-project.org/pub/lib/

ftp://ftp.alsa-project.org/pub/utils/

在ubuntu下解压,编译:

alsa-lib:
./configure --host=arm-none-linux-gnueabi --prefix=/home/gelei/alsa-lib-1.0.25/
make
make install

 

解释:
--host=arm-none-linux-gnueabi//指定交叉编译器

--prefix=/home/gelei/alsa-lib-1.0.25///指定编译好之后文件的安装目录

将编译成的安装目录整个拷贝到板子上面的usr/share/目录下

将lib里面的libasound.XX 文件拷贝到板子上面的lib/目录下

 

alsa-utils:
./configure --host=arm-none-linux-gnueabi --prefix=/home/gelei/alsa-utils-1.0.25/ --with-alsa-inc-prefix=/home/gelei/alsa-lib-1.0.25/include/ --with-alsa-prefix=/home/gelei/alsa-lib-1.0.25/lib/ --disable-xmlto --disable-alsamixer
make
touch alsaconf/po/t-ja.gmo
touch alsaconf/po/t-ru.gmo
sudo make install
 

解释:

--with-alsa-inc-prefix //include alsa-lib头文件

--with-alsa-prefix //调用alsa-lib

将编译成的安装目录整个拷贝到板子上面的usr/share/目录下

将bin下面的文件拷贝到板子的usr/bin/目录下,

将sbin下面的文件拷贝到板子的usr/sbin/目录下,

/etc/asound.conf中加入dmix相关plug:
pcm.dmix_48000{

type dmix

ipc_key 5678293

ipc_key_add_uid yes

slave{

pcm "hw:0,0"

period_time 40000

buffer_time 320000

format S16_LE

rate 48000

}

}

  

注意,我在开始使用dmix功能的时候, 发现报:

snd_pcm_dmix_open unable to create ipc semaphore

错误,原因是在kernel config中要将General setup -> System V IPC 选项选上。

0 0
原创粉丝点击