天天看点

嵌入式arm210开发板移植MP3的详细步骤MP3移植过程

MP3移植过程

平台:Fedora14   i386

            arm210

写在开头:本篇博客中所用到的一些工具和源码包,都可以在我的另一篇博文“软件开发人员常用网站整理”中找到下载网站

一、交叉编译包的安装

想进行嵌入式arm移植,第一步必须有交叉编译工具,即arm-linux-gcc,

我用的版本是4.3.2的。

创建文件夹

mkdir  /usr/local/arm

解压arm-linux-gcc-4.3.2.tar.gz到/usr/local/arm目录下

tar  -xzvf  arm-linux-gcc-4.3.2.tar.gz   -C    /usr/local/arm

修改配置文件(该步骤是配置arm-linux-gcc工具的环境变量)

vi  ~/.bashrc                

PATH=$PATH:/usr/local/arm/4.3.2/bin

更新配置文件

source ~/.bashrc

检测是否安装成功

which  arm-linux-gcc 或者arm-linux-gcc  -v

(如果出现arm-linux-gcc的版本信息,则安装成功!

二、移植libmad库

将libmad-0.15.1b.tar.gz拷贝到虚拟机上的Linux系统下的/share/目录下(该目录是自己建的,可更改,但要记住路径)

进入/share/目录下

#cd /share/

解压该文件生成libmad-0.15.1b文件

#tar xzvf libmad-0.15.1b.tar

进入到该文件夹中

#cd libmad-0.15.1b/

运行configure进行配置生成Makefile

#./configure CC=arm-linux-gcc --host=arm-linux  --disable-shared  --disable-debugging  --prefix=/share/(该/share/文件夹是自己建的)

配置之后会在该文件夹下生成Makefile,删除Makefile中的--fforce-mem

#vi Makeifle

在末行模式输入g/--fforce-mem,找到该词之后,进入插入模式删除这个单词,在末行模式输入wq退出并保存

编译安装

#make

#make install

编译安装时候会生成两个文件夹,其中include文件夹下是编译Mplayer时要用到的头文件,lib下是编译时要用到的库函数。

三、   移植编译Mplayer 

1、将MPlayer-1.0rc4.tar拷贝到Linux下的/share/目录下

解压该压缩文件生成MPlayer-1.0rc4文件

#tar zxvf MPlayer-1.0rc4.tar.gz

进入到MPlayer-1.0rc4目录下

#cd MPlayer-1.0rc4

运行configure进行配置,生成Makefile

#./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/ 2>&1| tee logfile

2、配置之后会生成一些文件夹,需要对这些文件夹中的某些参数进行修改

(1)在刚才编译libmad库是我们生成文件夹lib下的库函数是需要使用的,但是在配置这一点并没有被修改,所以我们要将该路径指出来。

进入到config.mak文件下在-lmad所在的那一行的最后加上-L/share/libmad/lib这句话

#vi config.mak

进入到末行模式,查找-lmad这句话

g/-lmad

加上-L/usr/local /libmab/mad/lib,在末行模式输入wq退出保存。

(2)修改MPlayer-1.0rc4/libmpeg2/motion_comp_arm_s.S文件

#vi  MPlayer-1.0rc4/libmpeg2/motion_comp_arm_s.S

在最前面加上

#ifndef HAVE_PLD  

.macro pld reg  

.endm  

#endif

输入wq退出保存

(3)修改Makefile文件

       #vi Makeifle

       进入到末行模式

       g/INSTALLSTRIP

找到该句话之后,在install部分开始的前面加上

INSTALLSTRIP :=   #

将其置为空

输入wq退出保存

3、编译安装

#make

#make install

4、编译安装完成之后,会生成四个新的文件夹(我的是在/share/下,一个名为“2”的文件夹中,注意上面写到的这句话--prefix=/share/ 2>&1 | tee logfile),其中bin目录下就是生成的mplyer可执行文件,

四、   开发板连接到PC机上的步骤

1、 连接开发板的串口、网线和电源,串口连接到PC机上,如果电脑是笔记本电脑,我们需要用USB转串口线,在PC机上安装PL2303这个USB转串口驱动,打开PC机上的设备管理器,更新串口的驱动,如果安装成功,出现Prolific USB-to-Serial Comm Port(COM3)这个标志,反之,会在这个串口标志出现感叹号。右键点击该设备的属性,点击端口设置,设置位/秒:115200,数据位:8,奇偶校验:无,停止位:1,流控制:无。

2、 开发板成功连接到PC机上之后打开windows下的超级终端Xshell5,点击新建,名称设置为210,协议改为SERIAL,点击SERIAL,设置同PC机串口设置参数一样,设置完成后点击确定,点击打开210,开启开发板,成功进入210终端,在PC机中打开cmd终端窗口,输入ipconfig查看PC机的ip地址,在开发板中输入ifconfig,查看开发板的ip地址,如果不在一个网段,设置开发板的ip前三位与PC机相同,如PC机ip为192.168.0.18,则设置开发板的ip为192.168.0.1。在PC机下输入ping 192.168.0.1检查PC机网络与210的连通,再在210的终端下输入ping 192.168.0.18检查是否连通。在虚拟机中查看网络是否连通也是这样,虚拟机的网络设置为桥接。

五、在开发板上挂载NFS

1、     网络连通正常后,我们打开虚拟机,配置/etc/exports(既配置nfs服务),在Linux终端输入vi /etc/exports,在该文件下输入/share/ 192.168.0.1 (rw sync )退出保存,输入/etc/init.d/iptables stop 关闭Linux上面的防火墙,输入setenforce 0关闭SElinux服务,输入/etc/init.d/nfs restart重启nfs服务  

2、     回到210的终端下面,输入mounts192.168.0.11:/share/ /mnt/nfs将我们所要共享的目录挂载到开发板中,输入之后按回车,如果不打印信息,则挂载成功,进入/mnt/nfs查看该目录下面是不是挂载的目录下面的文件。

找到一个音频格式的文件,我这里找的是一个歌曲,名字为1.mp3,将该音频文件拷贝到开发板上mplayer一样的目录下,进入到210的终端中,进入到挂载的目录下面#cd /mn/nfs/有一个MPlayer的目录,进入到这个目录下面的bin/文件下,里面有mplayer和1.mp3,将耳机插入到开发板的耳机孔,在终端输入./mplayer 1.mp3,我们可以从耳机中听到这首歌,表示MP3移植成功!

注意:如果nfs操作正确,但是依然挂载不上,那就用U盘把生成的可执行文件和MP3音频文件拷贝到开发板上