今天為了學習移植madplay 花了半天時間,多虧了有豐富的網絡資源才讓我在一個又一個問題中得到解決的方法。
逛街回來後,馬上在Ubuntu 11.10 下進行madplay 對mini2440的移植,由於有了早上移植madplay的經驗之後,晚上的移植工作做得還是比較順手。
1、解壓源代碼包
# cd tarball
# for f in $(ls *.tar.gz); do tar -zxvf $f –C ../src-arm; done
2、編譯madplay及其所依賴的庫文件
(1)設定編譯器環境變量
在ubuntu命令行下輸入
# export CC=arm-linux-gcc
(2)編譯zlib,因為libid3tag依賴於這個庫文件
# cd ../src-arm/zlib-1.2.3
#./configure --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm
# make
# make install
編譯好之後target-arm的lib目錄下libz.a庫。
(3)編譯libid3tag
# cd ../libid3tag-0.15.1b
# ./configure --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib
# make
# make install
(4)編譯libmad
# cd ../libmad-0.15.1b
# ./configure --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib
# make
# make install
(5)編譯madplay
# cd ../madplay-0.15.2b
#./configure --host=arm-linux --prefix=/opt/FriendlyARM/mini2440/madplay/target-arm --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-arm/include LDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-arm/lib
# make
# make install
以上都安裝成功之後,就得到了
# ls target-arm/bin
abxtest madplay
其中abxtest是附加生成的測試程序,不必理會。
3、下載madplay到開發板運行測試
MP3放進去測試 這時候你就可以聽到優美的聲音了。
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2