嵌入式实验6交叉编译及Linux简单程序设计实验

嵌入式实验6交叉编译及Linux简单程序设计实验

ID:45375065

大小:4.53 MB

页数:7页

时间:2019-11-12

嵌入式实验6交叉编译及Linux简单程序设计实验_第1页
嵌入式实验6交叉编译及Linux简单程序设计实验_第2页
嵌入式实验6交叉编译及Linux简单程序设计实验_第3页
嵌入式实验6交叉编译及Linux简单程序设计实验_第4页
嵌入式实验6交叉编译及Linux简单程序设计实验_第5页
资源描述:

《嵌入式实验6交叉编译及Linux简单程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验六交叉编译及Linux简单程序设计实验的实验报告一实验目的1、了解和掌握交叉编译模式和方法;2、熟悉和掌握Linux简单程序设计。二实验环境预装Fedora10_A8_Linux的pc机一台,CVT-A8嵌入式实验箱一台(已构建嵌入式Linux系统),以太网线一根,交叉编译工具链。三实验步骤1、连接主机和目标板;(三根线,注意网线和串口线是否连接正常)2、安装交叉编译器arm-linux-gcc,并配置环境。a)在命令行中输入arm-linux-后按tab键,如果命令能够补齐,说明里面已经有交叉编译工具了,

2、环境变量已经设置好,那接下来的步骤,可以作为参考。如果不能补齐,则把电脑“E:cvtechCVT-A8-IIILinux光盘Linux系统及应用源码”目录下的“4.3.3.tar.gz”文件拷贝到Fedora10的/usr/local目录下b)转到文件夹/usr/localcd/usr/localc)解压交叉编译工具链tar-vzxf4.3.3.tar.gzcd4.4.3/bin执行pwd命令得到这个目录的绝对路径,用右键复制这个路径,这个路径一般为/usr/local/4.3.3/bin。d)打开环境变

3、量设置脚本文件vi~/.bash_profilee)在文件中倒数第几行中,把“/usr/local/4.3.3/bin”添加到PATH环境变量路径的后面,类似于PATH=$PATH:/usr/local/4.3.3/bin$PATH表示原来的环境变量路径,添加的/usr/local/4.3.3/bin部分表示在原来的环境变量PATH中添加此交叉编译器的路径f)vi保存并退出g)输入命令source~/.bash_profile使环境变量路径生效h)在任意目录下输入arm-linux-gcc后回车,如果是arm-

4、linux-gccnoinputfile表示配置成功,或者仅输入“arm-linu”之后按TAB键看是否能补齐arm-linux-gcc命令,如果能够补齐,说明交叉编译工具链的环境变量设置成功。3,Linux简单程序设计a)使用vi等编辑器编写一个简单程序,比如输出“helloworld”,实现a+b等C语言程序。b)在命令行中使用gcc编译器编译并运行程序;使用file命令查看编译后的可执行文件信息。c)使用交叉编译器arm-linux-gcc编译并运行程序,记录结果;使用file命令查看交叉编译后的可执行文

5、件信息。d)将交叉编译得到的可执行文件通过tftp下载到目标机,在目标机上执行,记录结果Cd:Vi:gcc–o.c:四实验思考1、为什么要使用交叉编译模式?由于嵌入式系统资源匮乏,一般不能像PC一样安装本地编译器和调试器,不能在本地编写、编译和调试自身运行的程序,而需借助其它系统如PC来完成这些工作,这样的系统通常被称为宿主机。宿主机通常是Linux系统,并安装交叉编译器、调试器等工具;宿主机也可以是Windows系统,安装嵌入式Linux集成开发环境。在宿主机上编写和编译代码,通过串口、网口或者硬件调试器将程

6、序下载到目标系统里面运行。所谓的交叉编译,就是在宿主机平台上使用某种特定的交叉编译器,为某种与宿主机不同平台的目标系统编译程序,得到的程序在目标系统上运行而非在宿主机本地运行。ARM上可以运行操作系统,所以用户完全可以将ARM当做计算机来使用,理论上也可以在ARM上使用本地的编译器来编译程序.但是,编译器在编译程序时,会产生大量的中间文件,这会占用很大的内存和磁盘空间,且对CPU处理速度要求较高,比如S3C2440A内存、磁盘空间只有几十到100多兆,CPU只有400-500MHz,完全达不到编译程序的要求.所

7、以,在进行ARM-linux嵌入式开发时必须在PC机(x86结构)上编译出能够运行在ARM上的程序,然后再将程序下载到ARM中来运行.这就用到了交叉编译器.要进行交叉编译,用户需要在主机平台上安装对应的交叉编译工具链(crosscompilationtoolchain),然后用这个交叉编译工具链编译用户的源代码,最终生成可在目标平台上运行的代码.交叉编译工具链可以从网上下载,也可以自己制作.但编译器不是万能的,受版本限制,编译某些程序时会报错.常见的交叉编译工具链有:(1)Cross-2.95.3tar:该版本

8、较早,除了编译vivi外一般不使用.(2)arm920t-eabi.tgz:4.1.2版本的编译器,支持eabi,可以编译TX2440A开发板上的所有程序.(3)arm-linux-gcc:4.3.2版本的编译器,支持eabi,是最常见的交叉工具链.2、gcc和交叉编译工具生成的可执行文件有什么不同?Gcc:GCC(GNUCompilerCollection,GNU编译器套件),是由G

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。