嵌入式ARM下使用ALSA USB声卡

2019-07-13 09:22发布

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

欢迎和我一起多多交流。


使用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