Mini2440下移植媒体播放器MadPlayerWord文件下载.docx

上传人:b****8 文档编号:22977454 上传时间:2023-02-06 格式:DOCX 页数:14 大小:973.33KB
下载 相关 举报
Mini2440下移植媒体播放器MadPlayerWord文件下载.docx_第1页
第1页 / 共14页
Mini2440下移植媒体播放器MadPlayerWord文件下载.docx_第2页
第2页 / 共14页
Mini2440下移植媒体播放器MadPlayerWord文件下载.docx_第3页
第3页 / 共14页
Mini2440下移植媒体播放器MadPlayerWord文件下载.docx_第4页
第4页 / 共14页
Mini2440下移植媒体播放器MadPlayerWord文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Mini2440下移植媒体播放器MadPlayerWord文件下载.docx

《Mini2440下移植媒体播放器MadPlayerWord文件下载.docx》由会员分享,可在线阅读,更多相关《Mini2440下移植媒体播放器MadPlayerWord文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

Mini2440下移植媒体播放器MadPlayerWord文件下载.docx

libmad-0.15.1b.tar.gz(madplay移植所用到文件)

libid3tag-0.15.1b.tar.gz(madplay移植所用到文件)

zlib-1.2.5.tar.gz(lib库所需要的文件)

libstdc++.so.6.0.10(版本问题所需要的链接)

2.打开虚拟机,由于版本问题需要进行如下操作

1)删除/usr/lib/libstdc++.so.6文件(#rm/usr/lib/libstdc++.so.6)

2)把下载文件libstdc++.so.6.0.10复制到/usr/lib/下(#cplibstdc++.so.6.0.10/usr/lib/)

3)(#cd/usr/lib/)

4)建立链接(#ln–s/usr/lib/libstdc++.so.6.0.10/usr/lib/libstdc++.so.6)

5)查看链接是否成功(#strings/usr/lib/libstdc++.so.6|grepGLIBCXX)

如下图

3.建立交叉编译环境

1)将arm-linux-gcc-4.4.3.tar.gz压缩文件复制到/tmp

(#cparm-linux-gcc-4.4.3.tar.gz/tmp)

2)解压缩文件arm-linux-gcc-4.4.3.tar.gz

(#tarxvzfarm-linux-gcc-4.4.3.tar.gz–C/)

cd

3)修改文件分别在/root/.bashrc和/etc/profile文件下添加如下一行exportPATH=$PATH:

/opt/FriendlyARM/toolschain/4.4.3/bin

(#gedit/root/.bashrc)和(#gedit/etc/profile)

如下图:

保存并退出

4)重新登录系统交叉编译环境生效(在字符界面用命令logout,在图形界面直接<

注销>

5)重新登录后在命令行输入#arm-linux-gcc-4.4.3–v显示如下图交叉编译成功(可以编写一个c程序测试生效)

4.播放器移植

1)在根目录如下文件/opt/FriendlyARM/下建立mini2440,并在mini2440文件夹下建立madplay,再在madpalay文件夹下建立四个文件夹tarballsrc-x86src-armtarget-arm

(#cd/opt/FriendlyARM/)

(#mkdirmini2440)

(#cdmini2440)

(#mkdirmadplay)

(#cdmadplay)

(#mkdirtarballsrc-x86src-armtarget-arm)

2)把压缩包madplay-0.15.2b.tar.gzlibid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gz放入/opt/FriendlyARM/mini2440/madplay/tarball

(#cpmadplay-0.15.2b.tar.gzlibid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gz/opt/FriendlyARM/mini2440/madplay/tarball)

3)解压缩源代码madplay-0.15.2b.tar.gzlibid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gz

(#cd/opt/FriendlyARM/mini2440/madplay/tarball)

(#forfin$(ls*.tar.gz);

dotarxvzf$f–C../src-x86;

done)

4)编译madplay所依赖的库文件

a)libid3tag

(#cd/opt/FriendlyARM/mini2440/madplay/src-x86/libid3tag-0.15.1b)

(#./configure--prefix=/opt/FriendlyARM/mini2440/madplay/target-x86)

(#make)

(#makeinstall)

b)libmad

(#cd/opt/FriendlyARM/mini2440/madplay/src-x86/libmad-0.15.1b)

由于gcc版本问题需要删除/opt/FriendlyARM/mini2440/madplay/target-x86/libmad-0.15.1b/Makefile文件中的"

-fforce-mem"

字符串

(#cd/opt/FriendlyARM/mini2440/madplay/target-x86/libmad-0.15.1b/)

(#geditMakefile)

以上过程完毕,将在target-x86目录出现编译madplay所依赖的库文件和头文件。

c)编译安装madplay

(#cd/opt/FriendlyARM/mini2440/madplay/src-x86/madplay-0.15.2b)

将会出现如图错误:

提示我们在配置madplay之前要先安装libmad,因为我们之前已经编译并安装了依赖库,根据提示我们要设置CPPFLAGS环境变量,采用如下参数重新配置:

(#./configure--prefix=/opt/FriendlyARM/mini2440/madplay/target-x86CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-x86/include)

运行结果如图所示:

设置LDFLAGS环境变量,因此再次修改配置参数如下

(#./configure--prefix=/opt/FriendlyARM/mini2440/madplay/target-x86CPPFLAGS=-I/opt/FriendlyARM/mini2440/madplay/target-x86/includeLDFLAGS=-L/opt/FriendlyARM/mini2440/madplay/target-x86/lib)

执行成功结果如下:

这说明配置已经成功,生成了编译所需要的Makefile文件,输入一下命令开始编译安装:

执行完毕,可执行文件将被安装在我们指定的目录

/opt/FriendlyARM/mini2440/madplay/target-x86目录中:

(#cd/opt/FriendlyARM/mini2440/madplay/target-x86)

(#lsbin)

abxtestmadplay

其中abxtest是附加生成的测试程序,不必理会。

5、测试PC版的madplay

拷贝一首mp3文件到/opt/FriendlyARM/mini2440/madplay/target-x86/bin

执行:

(#./madplaytest.mp3)

注意:

虚拟机中执行的文件夹为(/opt/FriendlyARM/mini2440/madplay/target-x86)

开发板中执行的文件夹为

(/opt/FriendlyARM/mini2440/madplay/target-arm)

此时在PC机上就可以听到音乐

6、构建并修正ARM版本的编译脚本build-arm

既然我们已经构建了一个简单易用的编译脚本,现在就可以通过对它稍作修改来进行交叉编译了,这就是通常所说的移植。

简单的移植只要重新指定一下编译器就可以了,可以通过修改环境变量来实现。

很多的移植所要修改的环境变量是

CC编译器,系统默认为gcc,AR库工具,用以创建和修改库,系统默认ar

LD链接器,系统默认为LDRANLIB随机库创建器,系统默认为ranlibAS汇编器,系统默认为asNM库查看工具,系统默认为nm还有一些不常用的其他环境变量,在此就不一一列举了。

需要注意的是,并不是每个移植都需要做全面的环境变量修改,有些是不需要改的,这要根据实际情况,也就是系统提示信息来调整。

除了要修改编译器环境变量,一般还需要在配置中加入目标平台指定标识,在此为“arm-linux”,修改后的脚本如下:

(将脚本放在/opt/FriendlyARM/mini2440/madplay下)

(#cd/opt/FriendlyARM/mini2440/madplay)

(#vijiaoben)

#!

/bin/sh

MADPLAY_DIR=/opt/FriendlyARM/mini2440/madplay

SRC_DIR=src-arm

TARGET_DIR=$MADPLAY_DIR/target-arm

tarxvzf./tarball/libid3tag-0.15.1b.tar.gz-C$SRC_DIR

tarxvzf./tarball/libmad-0.15.1b.tar.gz-C$SRC_DIR

tarxvzf./tarball/madplay-0.15.2b.tar.gz-C$SRC_DIR

tarxvjf./tarball/zlib-1.2.5.tar.bz2-C$SRC_DIR

exportCC=arm-linux-gcc

cd$SRC_DIR/zlib-1.2.5

./configure--prefix=$TARGET_DIR

make&

&

makeinstall

cd../..

cd$SRC_DIR/libid3tag-0.15.1b

./configure--host=arm-linux--prefix=$TARGET_DIRCPPFLAGS=-I$TARGET_DIR/include

LDFLAGS=-L$TARGET_DIR/lib

make;

makeinstall

cd../../

cd$SRC_DIR/libmad-0.15.1b

./configure--host=arm-linux--prefix=$TARGET_DIR

cd$SRC_DIR/madplay-0.15.2b

cd../../

脚本生成后增加权限

(#chmod777jiaoben)

执行脚本

(#./jiaoben)

7、下载madplay到开发板运行测试

为了区别于板子中已经存在的madplay,把新做的madplay改名为mymadplay,复制依赖库

依赖库为/opt/FriendlyARM/mini2440/madplay/target-arm/lib

和/opt/FriendlyARM/mini2440/madplay/target-arm/bin/madplay

把lib和madplay从虚拟机复制到桌面并保存到U盘

在U盘中把madplay改名为mymadplay

8、使用U盘连接到开发板,并把U盘中的mymadplay文件复制到开发板中/usr/bin文件中

在开发板中操作

(#cp/udisk/mymadplay/usr/bin)

把U盘中的lib文件夹中的所有东西移动到开发板/lib

U盘lib文件夹中的文件有(libid3tag.alibid3tag.lalibid3tag.solibid3tag.so.0libid3tag.so.0.3.0libz.alibz.solibz.so.1libz.so.1.2.5pkgconfig)其中pkgconfig是一个文件夹

pkgconfig文件夹中文件有(zlib.pc)

开发板中文件夹是不能移动的,要一个一个文件移动

在U盘lib文件夹中还有一个文件夹pkgconfig,我们需要在开发板/lib中新建pkgconfig文件夹才能把U盘lib文件夹中pkgconfig文件夹中的zlib.pc复制到开发板/lib/pkgconfig中

(#cd/lib)

(#mkdirpkgconfig)

(#cd/udisk)

(#cplib/pkgconfig/zlib.pc/lib)

(#cplib/libid3tag.a/lib)

(#cplib/libid3tag.la/lib)

(#cplib/libid3tag.so/lib)

(#cplib/libid3tag.so.0/lib)

(#cplib/libid3tag.so.0.3.0/lib)

(#cplib/libz.a/lib)

(#cplib/libz.so/lib)

(#cplib/libz.so.1/lib)

(#cplib/libz.so.1.2.5/lib)

向开发板里复制你喜欢的音乐到/usr/bin,就可以执行文件了,接着就听到美妙动听的音乐了。

例如:

(#cd/udisk/)

(#cpxd.mp3/usr/bin)

(#cdusr/bin)

(#./mymadplayxd.mp3)

在这里MP3移植成功

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1