zoukankan      html  css  js  c++  java
  • 迅为IMX6ULL开发板搭建交叉编译环境

    基于迅为IMX6ULL开发板

    我们在第三章讲解了如何在 Linux 下进行 程序开发,我们使用的 gcc 编译器进行代码的编译,编译完,直接在 X86 架构下的 PC 下运行的。我们学习的 i.MX6 ULL 是 arm 架构的,所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行,这个编译器我们通常称为交叉编译器。arm 交 叉 编 译 器 有 很 多 种 , 我 们 使 用 Linaro 公 司 的 arm 交 叉 编 译 器 , 下 载 地 址 :

    releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

    如图 4.3.1 所示

    在图 4.3.1 中有多种 arm 交叉编译器,我们需要根据安装的 Ubuntu 系统来选择对应的版本下载:如果安装的是 Ubuntu 32 位的系统我们需要下载 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz

    如果安装的 Ubuntu 是 64 位系统我们需要下载gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。这两种版本的交叉编译器我们已经放在了光盘资料的“i.MX6UL 终结者光盘资料1_开发及烧写工具1、交叉编译器”目录下。

    下面我们开始在 Ubuntu 下搭建 arm 交叉编译器,由于我们安装的是 Ubuntu 64 位系统,所以我们选择使用编译器“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”。首先我们需要通过 ssh 文件传输工具把 arm 交叉编译器拷贝到 Ubuntu 系统下。我们在 Ubuntu 的用户根目录下建立文件夹“tools”,用来保存一些开发用到的工具。然后使用 ssh 文件传输工具将 arm 交叉编译器传输到我们刚才在 Ubuntu 系统下创建的“tools”目录下,如图 4.3.2 所示:

    交叉编译器传输到 Ubuntu 的用户根目录的“tools”目录下以后,然后在终端输入“sudo mkdir /usr/local/arm”命令创建“/usr/local/arm”目录,如题 4.3.3 所示:

    然后拷贝刚才上传的交叉编译器到/usr/local/arm”目录下,我们在终端输入命令“sudo

    /home/topeet/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/usr/local/arm/”,运行结果如图 4.3.4 所示:

    拷贝完成以后,进入到/usr/local/arm”目录下,在终端输入“sudo tar -vxf

    gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”解压 arm 交叉编译器,如图 4.3.5 所示:

    解压完成以后会生成gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”文件夹,,这就是我们需要的交叉编译工具,如图 4.3.6 所示:

    然后我们在终端输入sudo vi /etc/profile”命令,在文件的最后输入“export

    PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin”修改环境变量,如图 4.3.7 所示:

    然后保存并退出,在终端输入reboot”命令重新启动 Ubuntu 系统,使交叉编译环境生效。Ubuntu 系统重新起来以后,我们登录到系统,打开终端,输入“arm-linux-gnueabihf-gcc -v,如果终端有如图 4.2.3.8所示的打印信息,说明交叉编译环境搭建成功(如果没有出现 4.3.8 所示的打印信息,需要检查下图 4.3.7中的配置填写是否正确)。

    更多内容关注:迅为电子
    更多内容:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.34851debJbM0Ye&ft=t&id=614020183147&qq-pf-to=pcqq.c2c

  • 相关阅读:
    防火墙iptables 设置
    CentOS 6.5系统中安装配置MySQL数据库
    判断服务是否开启,应用是否安装,并安装应用
    判断是移动端还是PC端
    二维码的生成细节和原理
    onclick 常用手册
    PHP json_encode函数中需要注意的地方
    利用PHP SOAP扩展实现简单Web Services
    Symfony2学习笔记之事件分配器
    听 Fabien Potencier 谈Symfony2 之 《What is Symfony2 ?》
  • 原文地址:https://www.cnblogs.com/liyue3/p/13036080.html
Copyright © 2011-2022 走看看