madplay在FS2410下移植

基于FS2410的MP3播放(一)
-----------Madplay的移植

By 王奔 2009-1-7


优龙科技FS2410自带的cramfs文件系统已经有了声卡驱动,所以声卡驱动的移植部分可以省略,声卡移植部分将在基于FS2410的mp3播放(二)中讲述。为了要播放MP3文件,我们需要移植一个MP3播放软件到FS2410开发板,在本文档中我使用的是Madplay,此外还可以移植madplay等其他工具。
移植前准备:我们一共需要四个源代码包,它们是:
zlib-1.2.3.tar.gz;
libid3tag-0.15.1b.tar.gz;
libmad-0.15.1b.tar.gz;
madplay-0.15.2b.tar.gz;
当然还需要交叉编译器,我使用的版本是
优龙自带的arm-linux-gcc 3.3.2.
具体的移植步骤如下:


1、在/home/Madplay 目录下新建一个install目录,作为将来所有文件的安装目录

2、交叉编译
zlib-1.2.3.tar.gz


   解压源代码
#
tar xzvf zlib-1.2.3.tar.gz

   配置安装路径:
#
./configure --prefix=/home/madplay/install

   修改Makefile文件:


CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc

AR=/usr/local/arm/3.3.2/bin/arm-linux-ar rcs

RANLIB=/usr/local9/arm/3.3.2/bin/arm-linux-ranlib


   编译:
#
make

安装:
make install

编译好之后就可以在上面prefix指定的目录/home/madplay/install/lib目录下找到libz.a这个库。


3、交叉编译
libid3tag-0.15.1b

   解压源代码
#
tar xzvf libid3tag-0.15.1b


   配置
#./configure --host=arm-linux --enable-static--disable-shared --disable-debugging --prefix=/home/madplay/install LDFLAGS=-L/home/madplay/install/lib

注意:LDFLAGS=-L/home/madplay/install/lib必须要有,否则将报错无法编译,交叉编译libid3tag-0.15.1b必须已生成安装了libz.a。
编译:
#
make

安装:
make install

4、交叉编译
libmad-0.15.1b

     解压源代码
#
tar xzvf libmad-0.15.1b

配置
# ./configure --host=arm-linux --enable-static --disable-shared --disable-debugging --prefix=/home/madplay/install LDFLAGS=-L/home/madplay/install/lib

     编译:

#
make
安装:
#
make install

 
5、交叉编译
madplay-0.15.2b

    解压源代码
#
tar xzvf madplay-0.15.2b

配置
# ./configure --host=arm-linux --enable-static --disable-shared --disable-debugging --prefix=/home/madplay/install LDFLAGS=-L/home/madplay/install/lib CPPFLAGS=-I/ home/madplay/install/include

编译:

#
make

注意:此时得到的madplay是动态编译(生成的文件大约300K)的,我们要把它变成静态编译。我们需要拷贝make以后的最后一个链接的命令,在最后加上 –static ,然后安装,就可以得到静态链接的madplay程序。

然后把madplay和mp3音乐文件加入到文件系统中,下载到开发板运行就可以听到音乐了。
#
./madplay XX.mp3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值