嵌入式ARM下使用ALSA USB声卡

你好!这里是风筝的博客,

欢迎和我一起多多交流。


使用Linux的一个好处就是里面集成了好多驱动,像USB声卡就是即插即用的,我们只需要下载一些使用库就ok、
我们现在要使用USB声卡,就需要alsa-lib和alsa-util的支持、
alsa-lib下载链接:http://download.chinaunix.net/download/0001000/358.shtml

这里我用的是:alsa-lib-1.0.27.2、这样就能和韦老师用的同步了……

tar xjf alsa-lib-1.0.27.2.tar.bz2
cd alsa-lib-1.0.27.2/
./configure --host=arm-linux --disable-python
make

记得一定要加–disable-python
否则会出现:python.c:22:20: fatal error: Python.h: No such file or directory
而且

在配置时不使用–prefix,因为这样做会破坏文件系统的结构,使用默认路径(把库编译安装到/usr目录下,但/usr目录是PC机用的,为了跟PC机不冲突,因而在配置前把/usr改名为/usr_bak

sudo mv /usr/ /usr_bak
echo $PATH 查看环境变量
因为我们改了/usr/下所有文件的路径,所以要修改新的环境变量

export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/opt/FriendlyARM/toolschain/4.9.3/bin:/snap/bin

但是我发现我的Ubuntu里面即使export之后还是找不到一些命令,比如vi、mkdir等等,
所以我们只能用这些命令的绝对路径了:
su命令进入root用户

export PATH=/usr_bak/local/sbin:/usr_bak/local/bin:/usr_bak/sbin:/usr_bak/bin:/sbin:/bin:/usr_bak/games:/usr_bak/local/arm/opt/FriendlyARM/toolschain/4.9.3/bin:/snap/bin
/usr_bak/bin/mkdir /usr
/usr_bak/bin/mkdir /usr/bin
cp /usr_bak/bin/install /usr/bin
/usr_bak/bin/make install

这样即可安装成功在/usr目录下

cp -rf /usr /work/alsa/
rm -rf /usr
mv /usr_bak /usr
exit退出root

最后把环境变量改回来就ok

接下来我们编译alsa-util
但是他需要依赖:ncurses
ncurses下载网址:https://ftp.gnu.org/pub/gnu/ncurses/
这里我们用的是:ncurses-5.9.tar.gz

tar xzf ncurses-5.9.tar.gz
cd ncurses-5.9/
mkdir tmp
./configure --host=arm-linux --prefix=$PWD/tmp --with-shared
make && make install

这样即可安装在当前目录的/tmp目录下、

编译好ncurses后就可以编译alsa-util了、
alsa-util我们使用的是:alsa-utils-1.0.27.2.tar.bz2

./configure --host=arm-linux --prefix=$PWD/tmp --with-curses=ncurses --disable-xmlto --disable-nls

出现:configure: error: panel library not found

cd /usr/local/arm/opt/FriendlyARM/toolschain/4.9.3/arm-cortexa9-linux-gnueabihf/lib
sudo ln -s libncurses.so libtinfo.so
make
sudo make install

即可安装成功

把安装好后的bin文件和一些依赖库复制到板子根文件路径下即可使用,
使用如下:USB声卡使用

参考:
http://blog.sina.com.cn/s/blog_7d7e9d0f0101lqlp.html
https://blog.csdn.net/qingkongyeyue/article/details/52504235
https://blog.csdn.net/cean1024/article/details/52247807

猜你喜欢

转载自blog.csdn.net/guet_kite/article/details/80600846