嵌入式交叉编译环境搭建

1,嵌入式交叉编译环境搭建

所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。

   交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。

   那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
嵌入式交叉编译环境的搭建过程图文解说
工具/原料

    电脑系统:win7系统。虚拟机系统:workstation6.5 。虚拟机安装的linux版本:fedora9.0。内核:linux2.6.25 。

方法/步骤

    1

    我使用的交叉编译工具链是arm-linux-gcc-4.4.3,把它放在linux系统的路径是图一
    嵌入式交叉编译环境的搭建过程图文解说
    2

     如图一所示,在linux系统的路径/home/song/share下放了交叉编译工具链arm-linux-gcc-4.4.3的压缩包,另一个版本的不用。有的人可能会问到怎么把这个压缩包弄到虚拟机的linux的系统的,我是通过samba服务从主机复制到虚拟机的,这里的share文件夹就是我samba服务器的工作目录,多了不说,这不是重点。

       然后通过命令mkdir embedded 建立一个arm-linux-gcc的安装目录,如图二所示。当然安装路径和目录名称“embedded”可以依自己的喜好而定。
    嵌入式交叉编译环境的搭建过程图文解说
    3

      然后通过命令将share文件夹下的arm-linux-gcc-4.4.3.tar.gz复制到这里的embedded文件夹下,如图四所示。当然这里你也可以不进行这一步我这是为了方便以后管理,将arm-linux-gcc安装到embedded文件夹下,方便以后寻找。
    嵌入式交叉编译环境的搭建过程图文解说
    4

       然后使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将embedded文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下 ,如图五所示。
    嵌入式交叉编译环境的搭建过程图文解说
    5

       执行完解压缩命令,就已经将交叉编译工具链arm-linux-gcc-4.4.3安装到linux系统上了,这里默认安装到了图六所示的路径上。
    嵌入式交叉编译环境的搭建过程图文解说
    6

        接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下图六中的安装路径,使用图七中的命令:vi /etc/profile 编辑profile文件,添加环境变量。
    嵌入式交叉编译环境的搭建过程图文解说
    7

      在profile中的位置处,添加图八所示的红线标注的一行,路径就是图六中的红线标注的路径后面加上/4.4.3/bin。
    嵌入式交叉编译环境的搭建过程图文解说
    8

     图八中的路径一定是你自己的安装路径,可以使用pwd命令查找一下那个bin目录的路径。添加完路径后,保存退出。接下来使用命令:source /etc/profile,是修改后的profile文件生效,如图九所示。
    嵌入式交叉编译环境的搭建过程图文解说
    9

       然后,使用命令:arm-linux-gcc -v查看当前交叉编译链工具的版本信息,如图九中的红线标注第③行所示。很明显从图九可以看到,如果不执行第②步,则查看版本信息不成功。

       然后验证交叉编译工具链是否安装成功并且可以使用,如图九所示,随便找一个目录编辑一个hello源代码。
    嵌入式交叉编译环境的搭建过程图文解说
    嵌入式交叉编译环境的搭建过程图文解说
    10

       编辑好hello.c文件后,保存退出。然后使用交叉编译器对hello.c进行编译,并生成可执行文件hello,如图11所示。
    嵌入式交叉编译环境的搭建过程图文解说
    11

     这里生成的hello文件并不能像gcc编译出来的文件那样直接使用“./hello”命令执行并显示内容, 如图12所示,因为它是一个二进制文件,只能下载到开发板上执行!
    嵌入式交叉编译环境的搭建过程图文解说
    12

      至此,搭建交叉编译环境步骤结束。

时间: 2024-11-05 22:54:03

嵌入式交叉编译环境搭建的相关文章

【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建

(1)首先选择一个路径用来存放arm-linux-gcc.我选用的是/home/book,并在下面建立一个文件夹arm-linux-gcc. (2)利用cp EABI-4.3.3_Emdedsky_20100610.tar.bz2 arm-linux-gcc,将压缩包EABI-4.3.3_Emdedsky_20100610.tar.bz2复制到arm-linux-gcc中 (3)解压EABI-4.3.3_Emdedsky_20100610.tar.bz2 记录下文件的存放目录: (4)配置系统环

Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解

本文转载自:Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解 安装前的絮叨 首先简单介绍一下,所谓的搭建交叉编译环境,即安装.配置交叉编译工具链.在该环境下编译出嵌入式Linux系统所需的操作系统.应用程序等,然后再上传到目标机上. 交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码.对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链.例如,arm-linux-表示是对arm的交叉编译工具链:arm-linux-gcc表示是使

树莓派 交叉编译环境搭建(Win 7)

虽然树莓派带有gcc,可以编译C/C++程序,但是如果工程比较庞大,使用树莓派进行编译会浪费大量的时间,我们可以在PC上编译好程序,然后将可执行文件传递到树莓派上,执行程序,这样充分利用了PC上的资源,加快了开发进度. 首先需要在PC上搭建交叉编译环境,这里我选择了Cygwin作为交叉编译环境,在官网上即可下载. 安装程序Cygwin 下载arm-tool chain 下载地址:https://github.com/IanLinsdell/Raspberrypi 下载完成后解压其中的hardfp

转:Qt 嵌入式开发环境搭建

地址: http://www.cnblogs.com/lishixian/articles/3013897.html         作者:lsx_007 这里主要是记录了自己在搭建嵌入式开发环境时阅读的一些有价值的参考文档,文档主要来自于网络,由于是从文库中下载,所以也不知道 文档的出在哪?因为个人觉得总结的比较好,我暂且拿过来记录下,当然在此基础上也会加上我自己的理解!这篇文章主要是以问答的形式来组织. QT嵌入式开发环境是本文所要介绍的内容,我们先看看Qt的各个版本简介: 1.什么是QT

linux 交叉编译环境搭建及nfs 文件系统挂载

交叉编译环境搭建 1. 准备好交叉编译工具链 arm-linux-gcc-4.3.2.tgz ,并放到ubuntu linux 系统中 我是通过在windows 上建立共享文件,与虚拟机中的linux 系统进行共享, 首先在windows 下创建共享文件夹(不懂请百度),然后在虚拟机上设置 虚拟机->设置->选项->共享文件夹,然后把启用勾上,并选择路径为刚才在windows 上建立的共享文件夹,之后启动ubuntu 系统,cd  /mnt/hgfc/  就可以看到有共享目录和里面的内容

Exynos4412交叉编译环境搭建

Exynos4412交叉编译环境搭建 交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发.编译速度. 环境: Tiny4412SDK1506开发板 需要软件: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz 检测系统是否已经安装有交叉编译环境: # arm-linux-gcc -v bash: arm-linux-gcc: command not found 1. 安装步骤: 1)找到arm-linux-gcc-4.5.1-v6-vfp-201

Linux嵌入式交叉编译环境 的搭建【转】

转自:http://blog.csdn.net/woaixiaozhe/article/details/7395435 1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下(如果已经安装好的话,就可以免去这一步了): #sudo apt-get install gcc g++ libgcc1 libg++ make gdb 2. 下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下,我把它下载到了我的个人文件夹里 /home/wrq arm-lin

ubuntu14.04下嵌入式工作环境搭建

昨天作死一不小心把小红帽home目录下的东西删光了.跟着国嵌的视频学了这么久,对linux也算是有些熟悉,就决定自己在ubuntu下搭建一个工作环境.整个过程还算比较顺利,不过也有些小波折.下面把这次环境搭建记录下来,方便自己以后查阅,如果能够帮助到大家那自然是最好. ———————————————————————————————————————————————————————————————————— 注意:还处在裸机阶段学习或者还想使用usb下载烧写程序的朋友们就不要看了!!! 原因:由于国

qt4.7.0 交叉编译环境搭建经验总结

一.前期软件准备: 1 .虚拟机fedora9.到fedora官网下载,地址 http://fedoraproject.org/   版本推荐使用fedora9,在vm内安装,并且不安装vmware tools. 2.qt-creator 图形化界面开发软件   . Linux/X11 32位 的 Qt Creator 1.3.1 二进制软件,qt-creator-linux-x86-opensource-1.3.1.bin 地址         http://qt.nokia.com/down