移植環境(紅色粗字型字為修改後內容,藍色粗體字為特別注意內容)
1,主機環境:VMare下linux5.7 ,384記憶體。
2,編譯編譯環境:arm-linux-gcc v4.4.3
3,開發板:FL2440,4M nor flash,256M nand flash。
4,u-boot版本:u-boot-2011.09
5,linux 版本:linux-3.1
6,參考文章:
嵌入式linux應用開發完全手冊,韋東山,編著。
LDD3,
所需源碼包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz
下載地址:
http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
http://cdnetworks-kr-2.dl.sourceforge.net/project/mad/libid3tag/0.15.1b/libid3tag-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/madplay/0.15.2b/madplay-0.15.2b.tar.gz
1.建立路徑
sudo mkdir /madplay
sudo mkdir /madplay/mad
2.給路徑最大許可權
sudo chmod 777 /madplay /madplay/mad
3.將四個源碼包拷貝到 /madplay下並解壓
4.編譯zlib-1.1.4
進入到zlib-1.1.4路徑:
cd zlib-1.2.5/
(1)首先配置configure 檔案,產生Makefile,命令(--prefix=/madplay/mad/為指定最終產生的庫檔案的安裝路徑):
sudo ./configure --prefix=/madplay/mad/
(2)修改Makefile:
sudo vi Makefile
修改以下三項:
CC=gcc -> CC=arm-linux-gcc
AR=ar rc -> AR=arm-linux-ar rc
RANLIB=ranlib -> RANLIB=arm-linux-ranlib
(3)編譯:
sudo make
(4)安裝:
sudo make install
5: 編譯libid3tag-0.15.1b
進入到libid3tag-0.15.1b 路徑:
cd libid3tag-0.15.1b /
1)運行以下命令
sudo ./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared CPPFLAGS=-I/home/zhao/madplay/mad/include/ LDFLAGS=-L/home/zhao/madplay/mad/lib
(2)編譯:
sudo make
(3)安裝:
sudo make install
6: 編譯libmad-0.15.1b
進入到libmad-0.15.1b 路徑:
cd libmad-0.15.1b /
1)運行以下命令
sudo ./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared CPPFLAGS=-I/home/zhao/madplay/mad/include/ LDFLAGS=-L/home/zhao/madplay/mad/lib
(2)編譯:
sudo make
(3)安裝:
sudo make install
7.編譯madplay:
進入路徑/madplay/madplay-0.15.2b
1)運行以下命令
./configure CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib --host=arm-linux --prefix=/home/zhao/madplay/mad --disable-shared --enable-static --disable-nls CPPFLAGS=-I/home/zhao/madplay/mad/include/ LDFLAGS=-L/home/zhao/madplay/mad/lib
(2)編譯:
sudo make
(3)安裝:
sudo make install
這樣產生的madplay最終是動態編譯的,為了靜態編譯,make之後輸出的最後的編譯命令複製一下,最後加上-static,如下:
/usr/local/arm/3.4.1/bin/arm-linux-gcc -Wall -g -O2 -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_oss.o -L/madplay/mad/lib /madplay/mad/lib/libmad.a /madplay/mad/lib/libid3tag.a -lz -lm -static
斷行符號,OK!
將目前的目錄下的madplay下載到開發板上,然後下載一個mp3格式的音頻檔案到開發板,執行:
./madplay xxx.mp3
這樣就可以通過耳麥聽到播放的mp3音樂了.
編碼格式為MPA1L3的歌曲播放效果還行,播放速度只比PC的慢一點.
編碼格式為MPA2L3的歌曲播放起來明顯聽起來很慢.