- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1 交叉编译工具链建立实验
1.1 实验目的
? 熟悉Linux操作系统;
? 掌握交叉编译工具链的建立过程;
? 掌握通过gdb调试程序的方法;
? 掌握makefile文件的写法。
1.2 实验设备
? 硬件:PC机;
? 软件:Windows操作系统、VMware虚拟机和Linux操作系统,或直接安装于硬盘的Linux操作系统,arm-linux-gcc安装文件。
1.3 实验内容
? 安装Linux操作系统;
? 建立交叉编译工具链;
? 编写解决八皇后问题的程序。
1.4 实验原理
1.4.1 交叉编译工具链的简介
交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程式,例如我们试验中在Linux平台上编译出能运行在ARM为内核的CPU平台上的程式,编译得到的可执行文件是不能在Linux环境下运行的,必须放到ARM平台上才能运行。这种方法在异平台移植和嵌入式研发时非常有用的。
交叉编译工具链是由编译器、连接器和解释器组成的综合研发环境,交叉编译工具链主要由binutils、gcc和glibc三个部分组成。有时出于减小libc库大小的考虑,也能用别的C库来代替glibc,例如uClibc、dietlibc和newlib。
1.4.2 交叉编译工具链部分组件的介绍
GCC属于GUN工具链中的编译开发工具,它可以把源程序编译为可执行文件。GCC是支持支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等的编译器。GCC是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。GCC主要包括:
? cpp:GNU C编译器的预处理器
? gcc:符合ISO标准的C编译器
? g++:基本符合ISO标准的C++编译器
? gcj:GCC的java前端
? gnat:GCC的GNU ADA 95的前端
binutils是一组二进制工具程序集合,是辅助GCC的主要软件,其中主要包括:
? as:GNU汇编器
? ld:GNU链接器
? ar:创建归档文件,向库中添加/提取obj文件
? nm:列出obj文件中的符号
? objcopy:复制和转化obj文件
? objdump:显示对象文件的信息
? ranlib:根据归档文件中的内容建立索引
? readelf:显示elf格式执行文件中的各种信息
? size:显示object文件和执行文件各段的总大小
? strings:显示文件中可以打印的字符
? strip:去掉执行文件中多余的信息(如调试信息)
? gprof:用来显示图表档案数据。
1.4.3 Linux常用开发工具的介绍和使用
上面我们对交叉编译工具链做了概述,下面我们再给出linux下常用开发工具的介绍和使用。
1.vi(vim)
vi是linux下一种功能强大的,快速命令驱动的全屏幕编辑器,可以类比DOS的edit。vi有三种操作模式:一是命令模式(或称指令模式),在此模式下的按键当作指令来处理;一种是输入模式(或称插入模式),此模式的按键作为真正的输入;另外一种是底行模式,在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,也可以设置编译环境,如寻找字符串、列出行号等。初始启动vi时处于命令模式。表1.1中列出了vi(vim)常用的命令。
命 令
介 绍
光标移动类命令
移动输入光标
h
将光标向左移动一列
j
将光标向下移动一行
k
将光标向上移动一行
l
将光标向右移动一列
0
将光标移动到当前行首
$
将光标移动到当前行尾
Ctrl+F
向前移动一页
Ctrl+B
向后移动一页
w
将光标移动到下一个单词的首字母
e
将光标移动到下一个单词的末字母
b
将光标移动到前一个单词的首字母
退出类命令
退出VIM编辑器
:q!
不保存文件强制退出
:w!
文件存盘
:wq!
文件存盘后退出
:x
文件存盘后退出
编辑类命令
编辑文本常用命令
i
从光标前开始插入文本
a
从光标后开始插入文本
r
修改光标所在处的字符
x
删除光标处的一个字符
dd
删除光标所在的整行内容
:5d
删除第五行
o
在光标所在行下增加一行并进入输入模式
u
撤销最后一个更改操作
yy
复制当前行
p
粘贴当前行
rm
替换当前字符为m,替换后仍处于命令模式下
表1.1 vi(vim)常用命令
vi的命令有很多,我们需要经常使用来熟悉这些命令,当你得心应手的时候你会发现vi相比其他文本编辑器有很多优点,是一个非常高效的文本编辑器。
2.arm-linux-gcc
我们需
文档评论(0)