alsa 移植到Linux3.0

迷霧綠洲發表於2014-12-22

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下

這樣就可以用了


相關文章