大学实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江大学实验报告
课程名称:嵌入式原理实验类型:计算机实验
实验项目名称:实验四熟悉交叉编译环境和开发工具
学生姓名:何斯琼、姚冠红专业:计算机学号:3043027075、3043027076
同组学生姓名:指导老师:陈文智
实验地点:东四五楼嵌入式实验室实验日期:2007 年 3 月 5 日
实验目的和要求(必填)
目的:熟悉交叉编译环境和开发工具
实验内容和原理(必填)
对交叉编译工具进行熟悉和运用。
主要仪器设备
PC机
操作方法与实验步骤
进入/home/student/XSBase/XSBase255_Linux_B/Toolchain;
解压缩hybus-arm-linux-R1.1.tar.gz;
将解压缩得到的文件夹复制到/usr/local/下;
进入/root, 执行ls –a, 可见隐藏文件.bash_profile;
用vim编辑器编辑此文件:将$PA TH=/bin: /usr/local/hybus-arm-linux-R1.1/bin;
再执行命令source .bash_profile已更新此文件;
此时arm-linux-gcc命令(即交叉编译指令)已经可以执行;
以下为我们进行此实验时的全部过程:
[student@localhost student]$ su
Password:
[root@localhost student]# ls
XSBase
[root@localhost student]# cd XSBase/
[root@localhost XSBase]# ls
XSBase255_Linux_B
[root@localhost XSBase]# cd XSBase255_Linux_B/
[root@localhost XSBase255_Linux_B]# ls
app Datasheet Filesystem Image Kernel Source Toolchain BootLoader Documents GDB Jflash-XSBase255 RPM Tiny-X
[root@localhost XSBase255_Linux_B]# cd Toolchain
[root@localhost Toolchain]# ls
hybus-arm-linux-R1.1 hybus-arm-linux-R1.1.tar.gz
[root@localhost Toolchain]# tar -zxf hybus-arm-linux-R1.1.tar.gz
[root@localhost Toolchain]# ls
hybus-arm-linux-R1.1 hybus-arm-linux-R1.1.tar.gz
[root@localhost Toolchain]# pwd
/home/student/XSBase/XSBase255_Linux_B/Toolchain
......cp -a /usr/local/hybus-arm-llinux-R1.1
[root@localhost /]# ls
bin dev home lib misc opt root tmp var
boot etc initrd lost+found mnt proc sbin usr
[root@localhost /]# cd root
[root@localhost root]# ls
anaconda-ks.cfg install.log install.log.syslog minicom.log
[root@localhost root]# ls -a
. .bash_logout .gconf .gnome2_private install.log.syslog .xauthylGYor
.. .bash_profile .gconfd .gstreamer minicom.log .Xresources
anaconda-ks.cfg .bashrc .gnome .gtkrc .tcshrc
.bash_history .cshrc .gnome2 install.log .viminfo
[root@localhost root]# vi .bash_profile
[root@localhost root]# source .bash_profile
[root@localhost root]# ls
anaconda-ks.cfg install.log install.log.syslog minicom.log
[root@localhost root]# cd ..
[root@localhost /]# ls
bin dev home lib misc opt root tmp var
boot etc initrd lost+found mnt proc sbin usr
实验数据记录和处理
此实验无实验数据。
实验结果与分析(必填)
编写简单helloworld程序,用命令arm-linux-gcc命令进行交叉编译,通过并生成工程,表明此实验成功。
分析:目标文件在不同构架间由于采用的CPU指令集不同等原因不能通用。比如X86架构的程序不能运行于ARM架构的XSBase255目标机。而且,通常在一个架构下会有多个操作系统,不同的操作系统会使用不同的目标文件格式,所以不能采用X86架构下的编译程序对程序进行编译,而需要用对应ARM架构XSBase系统的交叉编译器进行编译,再把生成的目标文件传输到目标机上进行执行。
讨论、心得
通过这次实验,我们不仅明白了交叉编译的概念和必要性,也熟悉了如何使用交叉编译指令,并且也熟悉了不少linux指令,比如知道了改变了.bash_profile以后得用source .bash_profile 指令激活,并且重启终端后也得重新执行此指令。
我们在做实验的过程中遇到了很多困难,因为我们对linux本身都并不熟悉,对linux指令也仅局限于ls之类最基本的指令,但是在实验的过程当中,我们发现耐心是最重要的,并且要带着为什么的疑问去做实验,而不是照着书上的步骤一步一步机械进行。