asla架构和alsa-lib音频库的移植

本文介绍如何在ARM平台上从源码编译ALSA音频驱动库(alsa-lib)及工具集(alsa-utils),包括下载源码、配置编译参数、编译安装等步骤,并提供了自动化脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、从官网[http://www.alsa-project.org/main/index.php/Download ]下载并解压以下两个文件

      alsa-lib-1.0.23.tar.bz2、alsa-utils-1.0.23.tar.bz2

2、建立目标文件夹并配置权限

     sudo mkdir /usr/share/arm-alsa && sudo chmod 777 /usr/share/arm-alsa

3、交叉编译alsa-lib-1.0.23

(1)配置脚本

        ./configure --host=arm-linux --prefix=/usr/share/arm-alsa --disable-python

(2)编译和安装

        make && make install

4、交叉编译alsa-utils-1.0.23

(1)配置脚本

        ./configure --host=arm-linux --prefix=/usr/share/arm-alsa  --with-alsa-inc-prefix=/usr/share/arm-alsa/include --with-alsa-prefix=/usr/share/arm-alsa/lib --disable-alsamixer --disable-xmlto 

(2)编译和安装

        make && make install

5、打包目标文件夹

     tar -zcf arm-alsa.tar  arm-alsa

6、通过串口下载arm-alsa.tar到目标板

7、在目标板解压文件,并复制文件到相应位置

      tar -zxf arm-alsa.tar

      mv arm-alsa/lib/*    /usr/lib

      mv arm-alsa/bin/*    /usr/sbin

      mv arm-alsa/sbin/*    /usr/sbin

8、检查有没有/dev/snd目录,没有则使用以下命令

      mkdir /dev/snd

      cp /dev/controlC0 /dev/snd/ -rf

      cp /dev/dsp /dev/snd/ -rf

      cp /dev/pcmC0D0c /dev/snd/ -rf

      cp /dev/pcmC0D0p /dev/snd/ -rf

      cp /dev/mixer /dev/snd/ -rf

      cp /dev/timer /dev/snd/ -rf

9、可以进行alsa音频接口编程了

10、步骤1-6,可使用以下脚本代替

echo "1、解压lib、utils压缩包文件"
tar -jxvf alsa-lib-1.0.23.tar.bz2
tar -jxvf alsa-utils-1.0.23.tar.bz2


echo "\r\n\r\n2、建立目标文件夹 /usr/share/mini2440-alsa"
if [ ! -d "/usr/share/mini2440-alsa" ]; then
  sudo mkdir /usr/share/mini2440-alsa
fi
sudo rm /usr/share/mini2440-alsa/* -rf
sudo chmod 777 /usr/share/mini2440-alsa

echo "\r\n\r\n3、交叉编译alsa-lib-1.0.23"
cd /home/aniu/workspace/friendlyarm/mini2440/ldd/alsa/alsa-lib-1.0.23
./configure --host=arm-linux --prefix=/usr/share/mini2440-alsa --disable-python
make && make install

echo "\r\n\r\n4、交叉编译alsa-utils-1.0.23"
cd /home/aniu/workspace/friendlyarm/mini2440/ldd/alsa/alsa-utils-1.0.23
./configure --host=arm-linux --prefix=/usr/share/mini2440-alsa  --with-alsa-inc-prefix=/usr/share/mini2440-alsa/include --with-alsa-prefix=/usr/share/mini2440-alsa/lib --disable-alsamixer --disable-xmlto 
make && make install

echo "\r\n\r\n5、打包目标文件夹,并放入串口下载目录"
cd /usr/share
sudo tar -zcvf mini2440-alsa.tar  mini2440-alsa
sudo rm /home/aniu/workspace/friendlyarm/mini2440/minicom/mini2440-alsa.tar -rf
sudo mv mini2440-alsa.tar  /home/aniu/workspace/friendlyarm/mini2440/minicom
echo "\r\n\r\n"

 

转载于:https://my.oschina.net/u/3415127/blog/1014789

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值