首页 > 代码库 > alsa 移植到Linux3.0

alsa 移植到Linux3.0

alsa 架构现在已经成为Linux的标准音频架构了,相比于过去的oss有很多的优点。

alsa 提供了大量的工具和一个完备的链接库,这些库都可以在Ubuntu centos等上进行交叉编译。

我是在Ubuntu最新版本14上编译的alsa的22版本的。

http://www.alsa-project.org/main/index.php/Download  这里包含了alsa库的一些历史版本,这里我们主要编译lib库和util的工具集

我下载了1.0.22

然后解压进入文件夹路径,这里可以看到里面包含了一些熟悉的文件,首先就是Makefile  这个文件现在还是没什么用的,因为里面存在一些参数是要我们根据自己的编译环境进行设置的。设置方法就是里面有个应用程序configure  命令在这里贴出来

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-static --enable-shared  --disable-python  --with-configdir=/usr/local/share --with-plugindir=/usr/local/lib/alsa_lib


这里的路径如果没有  要自己创建,当然如果自己觉得不喜欢可以更改路径。

然后就可以编译

make

安装

sudo make  install

这里是因为安装过程要创建路径所以需要管理员权限

这样在usr/local/share  线面就能看到一些.a   .so文件了

然后进入到util里面进行编译出来工具,这个编译是要依赖于前面编译的lib的

首先也是进入到util的路劲

修改makefile   

./configure --host=arm-linux --prefix=$PWD/../../output/arm-linux --enable-static --enable-shared  --disable-python  --with-configdir=/usr/local/share/alsa  --datarootdir=$PWD/../../output/arm-linux/share
也是同样的方法

然后是编译

make

安装 

sudo make  install

之后也是在

usr/local/share/alsa 
线面能看到一堆的工具了。

到此整个编译过程完成了

之后进行移植就相对简单了

把工具  aplay   arecord  。。放到板子的rootfs 的bin路径

lib下的那些 ,a ,so 。。   全都放到rootfs的lib下 

config  在rootfs下建立 、usr/localshare/alsa下

这样就可以用了


alsa 移植到Linux3.0