实验内容与分析设计
所需硬件环境:
1、博创UP-CPU6410教学及科研平台;
2、PC机pentium500以上,硬盘40G以上,内存512MB以上;
所需软件环境:
1、libmad-0.15.1b.tar.gz
2、MPlayer-1.0rc2.tar.bz2
3、4.3.1-eabi-armv6-up-cup6410.tar.gz交叉编译器
设计过程:
1、解压4.3.1-eabi-armv6-up-cup6410.tar.gz软件包,搭建编译环境;
2、解压libmad-0.15.1b.tar.gz,并编译;
3、解压MPlayer-1.0rc2.tar.bz2,并使用.configure编译,最后make生成可执行程序。
4、连接开发板,在开发板上执行、测试。
实验步骤与调试过程
要注意在移植之前首先要保证pc机上的交叉编译环境已经配置成功。
把libz-1.1.4 、libid3tag-0.15.1b 、libmad-0.15.1b
、madplay-0.15.2b四个压缩包复制到/sun/6410目录下,并解压缩到此处 产生四个同名文件夹
在/sun下建立一个文件夹,为了方便命名为madplay
cd libz-1.1.4
(1) ./configure --host=arm-linux --prefix=/sun/6410madplay
(2) make
(3) make install
(4) cd ..
cd libid3tag-0.15.1b 重复操作(1) (2) (3) (4)
cd libmad-0.15.1b 重复操作(1) (2)
此时会出现错误 解决方法:
gedit Makefile
查找ff
把前面那个fforce-mem那一部分删除
保存退出
然后继续执行 (3) (4)
cd madplay-0.15.2b
./configure --host=arm-linux --prefix=/sun/6410madplay CPPFLAGS=-I/sun/6410madplay/include
LDFLAGS=-L/sun/6410madplay/lib
然后继续重复执行(2) (3) (4)
在/usr/**(共享文件夹)下建立一个新文件夹musicyizhi
把/sun/6410madplay下bin里面的madplay和lib里面所有的.so文件以及.mp3文件复制到musicyizhi下
实验结果
完成共享设置,并开启pc机上的nfs服务,保证pc与ARM用网线正常连接,使用ping命令有数据连通。
进入开发板:minicom
使用mountnfs命令的正确格式进行挂载
cd /mnt/nfs/musicyizhi
cp *.so* /mnt/yaffs/Qtopia/lib/
./madplay hello.mp3
(此时开发板可以发出声音,但使用的仍然是电脑中的文件)
因此在Qtopia/lib/下新建文件夹sun
然后 cd /mnt/nfs/musicyizhi
cp hello.mp3 madplay /mnt/yaffs/Qtopia/lib/sun
./madplay hello.mp3
开发板开始唱歌。
疑难小结
注:--prefix 便于寻找头文件和库文件
--host 指明库文件运行的环境是arm-linux 而不是ix86-pc-linux
-disable-shared 指明静态链接 编译器默认的是动态链接
CC指明所使用的编译器,此处为arm-linux-gcc
LDFLAGS告诉链接器从哪里寻找库文件
CPPFLAGS是用于预处理阶段的选项
LIBS告诉链接器要链接哪些库文件