关闭

移植alsa-lib与alsa-utils

标签: dmix alsa alsa-lib
320人阅读 评论(0) 收藏 举报

在做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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16620次
    • 积分:307
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档