×
单片机 > 单片机程序设计 > 详情

基于s3c2440的madplay移植

发布时间:2020-05-29 发布时间:
|

在mini2440移植声卡后,赶紧找了移植madplay的资料,看上去挺简单的,于是接着移植madplay。

一、        环境和软件介绍

1、主机环境:虚拟机下Fedora9

2、交叉编译器:arm-linux-gcc-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移植成功,声音播放正常。

四、     总结

移植的过程还是比较简单,主要是配置一些参数。


关键字:s3c2440  madplay  移植 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机的数码管动态扫描方法