Mplayer移植
- 格式:docx
- 大小:13.73 KB
- 文档页数:3
实验步骤和调试过程:
1.准备源码安装包以及测试文件。
2.搭建交叉编译环境:
(1)环境搭建:
1).连接串口线、网线和电源线
2).使用超级终端连接开发板。
1'配置好串口调试环境安装USB转接串口工具PL2303_Prolific_DriverInstaller_v1210.exe 2'查看com端口号:右键电脑->属性->硬件->设备管理器,进行端口设置。
更改端口后,在设备管理器中扫描该端口。
3'安装SecureCRT,建立超级终端,连接开发板。
连接完成后,重新插入开发板电源,会出现相应的启动信息。
3).设置好nfs网络,使开发板和宿主机可以联通
1'查看宿主机网络配置:ifconfig
2'在超级终端查看开发板网络配置。
3'看看开发板和宿主机是否能ping通。
4'配置nfs
4)挂载
(2)安装交叉编译工具链
交叉编译工具链,在之前的实验中已经安装完毕,不需要再重新安装。
3.配置生成可执行程序
1.移植准备:
软件准备:MPlayer-1.0rc4.tar libmad-0.15.1b.tar
(1)在虚拟机下创建一个文件夹用于Mplayer移植并把libmad-0.15.1b.tar和MPlayer-1.0rc4.tar复制到所创建的文件夹中
(2)进入/share并在/share下创建两个分别命名为MPlayer和libmad的文件夹用于存放lib 库和Mplayer应用文件
2.编译libmad配置环境
(1)在/share解压libmad-0.15.1b.tar
(2)进入解压得到的源码目录中,运行configure,生成Makefile
(3)修改Makefile,找到Makefile中的“--fforce-men”,删除后保存
(4)编译
3.检查
进入/share/libmad中输入ls,查看是否成功生成include和lib两个文件夹。
4.交叉编译Mplayer
(1)在/share下解压MPlayer-1.0rc4.tar
(2)进入解压得到的源码目录中,运行configure,生成Makefile
(3)手动添加libmad库的支持
(4)修改MPlayer-1.0rc4中config.mak
(5)修改Makefile
(6)运行make编译源代码
(7)install修改
(8)执行make install
5.检查
进入/share/MPlayer中输入ls,查看是否成功生成bin、etc、share和lib四个文件夹
6.连接开发板ping通,配置nfs,关闭防火墙,挂载/share文件夹到开发板
7.将自己准备的音乐文件拷贝到所挂载的文件夹中,在开发板上利用Mplayer运行音乐和视频文件
8.(1)制作一个播放列表
(2)随机播放
9.开发板上运行。
实验结果:
这是一个预期结果,因为没有开发板
在开发板上运行,拿一个耳机插入到arm板指定位置,可以听到播放的音乐。
疑难小结:
1.出现error:unrecognized command line option “-fforce-mem”错误,修改makefile,去掉–fforce-mem标志(因为arm-eabi编译器都不支持这个选项)
2.config.mak中INSTALLSTRIP=-s,-s去掉即可,重新make,make install
主要算法和程序清单:
配置nfs:
(1)进入/etc/init.d中启动nfs
./nfs stop
./nfs start
(2)建立主机连接开发板的文件夹
mkdir /home/nyqiuya/arm-jcby
(3)修改/etc/exports文件
gedit /etc/exports
再该文件中添加:/home/nyqiuya/arm-jcby 92.168.1.*(rw,sync)
挂载:在开发板端:
mount –t nfs –o nolock 宿主机IP:/挂在目录/mnt
安装交叉编译工具链(此过程在之前的实验中已经完成)
1、解压工具链到某一目录上
tar -xzvf arm-linux-gcc-4.3.2.tar.gz -C /usr/local/arm
2、修改/etc/profile,添加pathmunge /usr/local/arm/4.3.2/bin
3、执行source /etc/profile,使生效
4、检测是否安装成功
which arm-linux-gcc 或者arm-linux-gcc -v
移植准备:
1.在虚拟机下创建一个文件夹用于Mplayer移植并把libmad-0.15.1b.tar和MPlayer-1.0rc4.tar 复制到所创建的文件夹中
所用命令:mkdir /share
cp MPlayer-1.0rc4.tar /share
cp libmad-0.15.1b.tar /share
2.进入/share并在/share下创建两个分别命名为MPlayer和libmad的文件夹用于存放lib库和Mplayer应用文件所用命令:cd /share
mkdir MPlayer
mkdir libmad
编译libmad配置环境
(1)在/share解压libmad-0.15.1b.tar
所用命令:tar zxvf libmad-0.15.1b.tar
(2)入解压得到的源码目录中,运行configure,生成Makefile
所用命令:cd libmad-0.15.1b
./configure CC=arm-linux-gcc --host=arm-linux --disable-shared --disable-debugging --prefix=/share/libmad
(3)修改Makefile,找到Makefile中的“--fforce-men”,删除后保存
所用命令:gedit Makefile
(4)编译:所用命令:make make install
交叉编译Mylayer
(1)在/share下解压MPlayer-1.0rc4.tar
所用命令:tar zxvf MPlayer-1.0rc4.tar
(2)进入解压得到的源码目录中,运行configure,生成Makefile
所用命令:cd /MPlayer-1.0rc4
./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-linux --enable-fbdev --enable-static --disable-dvdread --disable-live --disable-mp3lib --enable-mad --disable-win32dll --disable-mencoder --disable-ivtv --disable-dvdnav --disable-dvdread-internal --disable-libdvdcss-internal --enable-libavcodec_a --prefix=/share/MPlayer 2>&1 | tee logfile (3)手动添加libmad库的支持
所用命令:cp -r /share/libmad/include /share/ MPlayer-1.0rc4
cp /share/libmad/include/mad.h /share/ MPlayer-1.0rc4
(4)修改MPlayer-1.0rc4中config.mak
修改config.mak中在-lmad 后加上-L/share/libmab/lib,然后执行下一步
所用命令:gedit /config.mak
(5)修改Makefile
所用命令:gedit /libmpeg2/motion_comp_arm_s.S
(6)运行make编译源代码
所用命令:make
(7)install修改
(8)执行make install
制作一个播放列表:ls /mnt/*.avi > tom.lst
随机播放:mplayer -playerlist tom.lst -shuffle
-playerlist 指定播放列表
-shuffle 指定随机播放。