移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)
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的歌曲播放起来明显听起来很慢.