zoukankan      html  css  js  c++  java
  • Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境
    Linux版本:Ubuntu 14.10   

    交叉编译器版本:arm-linux-gcc-4.4.3资源链接

    何为交叉编译环境
    搭建交叉编译环境,即安装、配置交叉编译工具链。在Ubuntu环境下编译出嵌入式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平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。

    搭建步骤

    1.解压缩

    下载arm-linux-gcc-4.4.3.tar.gz压缩包,并将其放在/usr/local/目录下,使用解压缩命令将其解压缩至该文件夹内:

    tar zxvf arm-linux-gcc-4.4.3.tar.gz

     


    现在交叉编译程序集都在/usr/local/arm-linux-gcc-4.4.3/bin文件夹下。

    2.配置环境变量

    配置环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vi /etc/profile编辑profile文件,添加环境变量, 在profile中最后一行添加:

    export PATH=$PATH:/usr/local/arm-linux-gcc-4.4.3/bin
    这个路径就是那个bin目录所在的路径。

     

    编写完使用wq保存退出。

    3.使环境变量生效并验证

    然后使用命令:

    source /etc/profile
    使环境变量生效(在不同用户下最好都运行一下此语句,例如shgao和root用户下都运行一下)。
    检查是否将路径加入到PATH:

    echo $PATH
    显示的内容中有/usr/local/arm-linux-gcc-4.4.3/bin,说明已经将交叉编译器的路径加入PATH。
    之后可以使用命令:

    arm-linux-gcc -v
    查看环境是否搭建成功,如果输出以下内容,代表已经搭建成功:

     

    编译生成二进制文件
    然后可以使用命令:

    arm-linux-gcc HZK16.cpp -o arm_HZK16
    编译生成可以在arm上运行的二进制文件。

     

    因为生成的arm_HZK16为arm上运行的二进制文件,所以在Ubuntu中执行出错,x86_HZK16是用gcc编译器生成的可执行文件,./x86_HZK16运行结果如上。
    ---------------------
    作者:高世皓
    来源:CSDN
    原文:https://blog.csdn.net/gsh_hello_world/article/details/70237123
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    (转)130道ASP.NET面试题
    (转)c#对象内存模型
    (转)探讨:ASP.NET技术的学习顺序问题
    (转)ASP.NET缓存概念及其应用浅析
    Response.Redirect在新窗口打开网页
    转载 C# 序列化与反序列化意义详解
    简单进制转化
    简单成绩管理系统(没有存盘)
    kali不能ifconfig等简单命令
    蓝桥杯练习之开花(二分法查找)
  • 原文地址:https://www.cnblogs.com/FZLGYZ/p/10751083.html
Copyright © 2011-2022 走看看