<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
基于s3c2440的madplay移植
在mini2440移植声卡后,赶紧找了移植madplay的资料,看上去挺简单的,于是接着移植madplay。
一、 环境和软件介绍
1、主机环境:虚拟机下Fedora9
2、交叉编译器:arm-linux-gcc-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4.3.2
3、软件包:zlib-1.2.3、libid3tag-0.15.1b.tar.gz、libmad-0.15.1b.tar.gz、madplay-0.15.2b.tar.gz
4、 把以上软件包解压到/opt/studyarm/madplay-make目录下,分别改名为zlib、libid3tag、libmad、madplay。并在madplay-make目录下新建include和lib目录用于存放编译后的头文件和库文件。
二、 移植步骤
1、编译zlib-1.2.3
进入zlib目录进行如下配置:
./configure –prefix=/opt/studyarm/madplay-make 然后修改生成的Makefile文件: ... CC=arm-linux-gcc ... LDSHARED=arm-linux-gcc CPP=arm-linux-gcc -E ... AR=arm-linux-arrc RANLIB=arm-linux-ranlib ... |
执行make
make install
在/opt/studyarm/madplay-make目录下的included和lib目录里生成了编译后的文件。
2、编译libid3tag-0.15.1b.tar.gz
进入libid3tag目录,执行“./configure --host=arm-linux --enable-static --disable-shared --disable-debugging --prefix=/opt/studyarm/madplay-make”
make
make install
在/opt/studyarm/madplay-make目录下的included和lib目录里生成了编译后的文件。
3、编译libmad-0.15.1b.tar.gz
进入libmad目录,执行“./configure --host=arm-linux --enable-static --disable-shared -disable-debugging --prefix=/opt/studyarm/madplay-make”
因为我使用的是高版本的arm-linux-gcc-4.3.2编译器,make时出现了“cc1: error: unrecognized command line option "-fforce-mem"”错误,这是因为这个高版本的gcc没有"-fforce-mem"参数,解决的办法是在Makefile里面查找"-fforce-mem",将其删除即可make通过。
make
make install
在/opt/studyarm/madplay-make目录下的included和lib目录里生成了编译后的文件。
4、madplay-0.15.2b.tar.gz
进入madplay目录,执行“./configure CC="/usr/local/arm/"4.3.2/bin/arm-linux-gcc --host=arm-linux --enable-static --disable-shared CPPFLAGS="-I/opt/studyarm/madplay-make/include" LDFLAGS="-L/opt/studyarm/madplay-make/lib"”
make
在目录下生成了madplay可执行文件。
三、 测试
将生成的madplay可执行文件拷贝到开发板的/bin目录下,播放U盘或其它地方的歌曲,这里播放的是U盘里面的歌曲。
[rootMrFeng]#ls 01.mp3 2.wma ?? ??? ???? ????? [rootMrFeng]#madplay 01.mp3 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. Title: 天空之城(木吉他) Artist: 久石让 Album: 天空之城(Laputa The Castle in 10288 frames decoded (0:04:28.7), +0.3 dB peak amplitude, 31 clipped samples |
到了这里,madplay移植成功,声音播放正常。
四、 总结
移植的过程还是比较简单,主要是配置一些参数。
----------------------------取之于网络,还之于网络--------------------
用户377235 2013-9-10 18:48