2009年8月29日 星期六

好大台的MP3:於【應用-模組D2】嵌入式系統( Embedded System )專案實作:多媒體系列 移植完成

這次的移植是在課程《【應用-模組D2】嵌入式系統專案實作:多媒體系列》完成的。目的在 ARM-PXA270 開發板上能夠播放 mp3 音樂檔,我選用移植 madplay。而編譯 madplay 需要如下檔案: madplay-XX.tar.gz libmad-XX.tar.gz libid3tag-XX.tar.gz   zlib-XX.tar.gz 。前三個檔案的下載位址在以下網站可以找到相關的鏈結: http://sourceforge.net/project/showfiles.php?group_id=12349zlib-XX.tar.gz 的下載網址為: http://www.zlib.net/ 。本次課程日期是 2009829,我還是下載當時最新版本來做移植,版本分別是: madplay- 0.15.1 b.tar.gz libmad-0.15.1b.tar.gz libid3tag-0.15.1b.tar.gz ,及 zlib-1.2.3.tar.gz


 


madplay的移植步驟如下:


1、確定編譯環境:


目前ARM-PXA270教學板用的  Cross-Compiler 可以是 arm-linux-gcc 3.3.2 3.4.1 均可。同時我將 madplay- 0.15.1 b.tar.gz libmad-0.15.1b.tar.gz libid3tag-0.15.1b.tar.gz ,及 zlib-1.2.3.tar.gz  檔案都放在 /home/modDExam5/wav  目錄下。


2、再來編譯連結 zlib- 1.2.3


首先配置其 configure  檔,指令如下:


./configure


待產生 Makefile 檔後,修改此 Makefile 檔將編譯指令均修正加上  arm-linux-  ,存檔後,鍵入: make  ,編譯  zlib- 1.2.3  產生  libz.a 。到此,編譯連結 zlib- 1.2.3  就算完成了。


3 編譯 libmad


在完成 zlib- 1.2.3  的編譯後,接著進行 libmad-0.15.1b  的編譯。因為希望編譯後的  madplayer  可以單檔執行,所以必須在  configure  加入  disable shared  選項, CC  選項須以  arm-linux-gcc  進行編譯,這時需加入  --host=arm-linux 。執行的命令至少如下:  ./configure CC=arm-linux-gcc --host=arm-linux


待產生 Makefile 檔後,鍵入: make  ,編譯  libmad  產生 對應的  lib 。到此,編譯  libmad  就算完成了。


4 編譯 libid3tag


再來就是進行  libid3tag- 0.15.1 b  的編譯。首先還是先以  configure  配置 Makefile :因為  libid3tag  需要用到 zlib ,所以我們必須加入兩項編譯環境變數:


 CPPFLAGS=-I /home/modDExam5/wav/zlib- 1.2.3 


 LDFLAGS=-L /home/modDExam5/wav/zlib- 1.2.3 ,當然  CC  還是使用  arm-linux-gcc ,同時也要關閉  shared  。執行的命令至少如下:


 ./configure CC=arm-linux-gcc --host=arm-linux


待產生  Makefile  檔後,再使用: make  編譯  libid3tag  即可。


5 編譯 madplay


首先還是先以  configure  配置 madplay    Makefile :因為  madplay 需要用到zlib libmad libid3tag ,所以我們必須加入兩項編譯環境變數:


 CPPFLAGS    LDFLAGS ,讓 madplay  可以找到上述三種 LIB,當然  CC  還是使用  arm-linux-gcc , 同時也要關閉  shared   啟用  static  項次。執行的命令至少如下:


 ./configure CC=arm-linux-gcc --host=arm-linux


待產生  Makefile  檔後,再使用: make  編譯  madplay 即可。而產生出來的  madplay 的可執行檔,你就可以上傳至  ARM  板上( PXA270 ) 執行了。


 


madplay  的執行指令如下:  madplay  mp3檔案,你就會聽到  MP3 歌曲囉。


 


沒有留言:

張貼留言

FPGA Verilog 的學習經驗,提供給要入門的新手

今天簡單說說 FPGA Verilog 的學習經驗,提供給要入門的新手: 1.對自己寫的FPGA Verilog程式,所生成的數位電路要心中有數。 這一點個人認為很重要,就正如寫 C語言,心中要能生成對應的組合語言一樣,我是這樣要求自己的。 雖然 FPGA Verilog語言...