原创 基于s3c2440的madplay移植

2009-12-20 14:01 2974 4 5 分类: MCU/ 嵌入式


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


基于s3c2440madplay移植


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.3libid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gzmadplay-0.15.2b.tar.gz


4、  把以上软件包解压到/opt/studyarm/madplay-make目录下,分别改名为zliblibid3taglibmadmadplay。并在madplay-make目录下新建includelib目录用于存放编译后的头文件和库文件。


二、     移植步骤


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目录下的includedlib目录里生成了编译后的文件。


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目录下的includedlib目录里生成了编译后的文件。


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目录下的includedlib目录里生成了编译后的文件。


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移植成功,声音播放正常。


四、     总结


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


 


----------------------------取之于网络,还之于网络--------------------

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2013-9-10 18:48

怎么把生成的madplay可执行文件拷贝到开发板的/bin目录下?
相关推荐阅读
用户1398279 2010-07-08 00:12
C语言共享库的制作
C语言共享库的制作0推荐 作者:杨硕,华清远见嵌入式学院讲师。1)基本概念共享库也是.o文件的集合,但是这些文件由编译器按照一种特殊的方式生成(Linux中,共享库文件为"ELF"格式,共享库已经具备...
用户1398279 2010-07-04 22:37
Linux 2.6.11 MTD驱动情景分析
Linux 2.6.11 MTD驱动情景分析最近几天为了熟悉linux的驱动开发,我选择了其MTD驱动做了一些研究。我能找到的文章中我觉得有些部分不够细致,所以我还是自己写了一部分分析,希望对别人也能...
用户1398279 2010-05-05 14:25
automake使用及库和头文件的链接
automake使用及库和头文件的链接关于automake的实践今天弄了很久的automake,自动生成Makefile,这样写程序时就会方便很多。之前也花时间看过一次,但当时只是对着一个hello....
用户1398279 2010-05-05 11:33
HP总裁退休时的信件
HP总裁退休时的信件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />我有个有趣的观察...
用户1398279 2010-04-23 18:04
VMWare的NAT配置(包括DHCP和固定IP配置)
NAT的DHCP配置:这个网上别人写过,自己实验了下,没有问题。1 .最重要的是你的两个服务必须开启:VMware DHCP Service 和VMware NAT Service。具体操作如下: 开...
用户1398279 2010-04-23 10:48
gcc命令objdump用法
gcc命令objdump用法2009年03月29日 星期日 23:49gcc命令之 objdump ---------------objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具-...
EE直播间
更多
我要评论
1
4
关闭 站长推荐上一条 /3 下一条