交叉编译器的安装与使用_第1页
交叉编译器的安装与使用_第2页
交叉编译器的安装与使用_第3页
交叉编译器的安装与使用_第4页
交叉编译器的安装与使用_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 嵌入式Linux开发环境交叉编译器21.1 1.1 嵌入式嵌入式LinuxLinux开发环境开发环境n嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不可能系统的硬件平台上编写软件比较困难,有时候甚至是不可能的的。解决办法:解决办法: 1、首先在通用计算机上编写程序; 2、然后通过本地编译或者交叉编译生成目标平台上可以运行的二进制代码格式; 3、最后再下载到目标平台上的特定位置上运行。3交叉编译器交叉编译器n在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。在一种平台上编译出能在

2、另一种平台(体系结构不同)上运行的程序。n在在PC PC 平台平台(X86 CPU)(X86 CPU)上编译出能运行在上编译出能运行在arm arm 平台上的程序,编译得到的平台上的程序,编译得到的程序在程序在X86 CPUX86 CPU。nX86X86平台上是不能运行的,必须放到平台上是不能运行的,必须放到arm arm 平台上才能运行。平台上才能运行。n用来编译这种程序的编译器就叫交叉编译器。用来编译这种程序的编译器就叫交叉编译器。n为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。例如:为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。例如:arm-linux-gccarm-li

3、nux-gcc。n需要交叉开发环境(Cross Development Env)的支持是嵌入式应用软件开发时的一个显著特点。n交叉编译器只是交叉开发环境的一部分。n交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有n所不同,通常采用宿主机目标机模式。n交叉编译环境所需工具的集合体;n搭建编译环境所需软件(binuntials、gcc 与glibc 等)的安装载体。n主要包括:n交叉编译器,例如交叉编译器,例如arm-linux-gccn交叉汇编器,例如交叉汇编器,例如arm-linux-asn交叉链接器,例如交叉链接器,例如arm-linux-ldn各种操作所

4、依赖的库各种操作所依赖的库n用于处理可执行程序和库的一些基本工具。例如arm-linux-strip45交叉编译器环境搭建交叉编译器环境搭建6交叉编译器环境搭建交叉编译器环境搭建7交叉编译器的安装交叉编译器的安装ngcc hello.c -o hello_pc n/ 用gcc编译器编译hello.c源程序,n/生成可以在X86 CPU上的可执行程序hello_pcnarm-linux-gcc hello.c -o hello_armn/ 用arm-linux-gcc交叉编译器,n/生成可以在arm s3c2440 CPU上的可执行程序hello_arm8GNU gccGNU gcc编译器及其使

5、用编译器及其使用 C 、C+源代码源代码hello.c编译编译连接连接可执行程序可执行程序GNU gccGNU gcc编译器的编译流程编译器的编译流程n在嵌入式系统的程序开发中,通常一个较大的程序都会使用到不同的小程序或函数,所以在编译时就要将这些不同的程序编译,产生不同的目标文件,然后再执行连续的动作,最后才能生成可执行的二进制。n例如有一个主程序为main.c,需要使用到A.c和B.c的程序,因此在编译时就要执行如下命令才能产生可执行的二进制程序main。9MakeMake与与MakefileMakefile文件简介文件简介ngcc c main.c(生成main.o目标文件)ngcc c A.c(生成A.o目标文件 )ngcc c B.c (生成B.o目标文件 )ngcc o main main.o A.o B.on最后根据main.o、 A.o 、B.o这3个目标文件,才能生成main可执行二进制程序。n但是当在执行程序时发现程序执行的结果是由于A.c程序源代码有错误,此时就要修改A.c程序代码后再执行上图的编译过程,由于main.c及B.c程序并没有错误,且在第一次执行编译时已

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论