一、前言

上一篇文章说了,在开发之前必须先搭建起交叉编译环境,于是这里我们就介绍一下环境的搭建过程。

其实在所安装的Vivado HLx 2016.4中就包含了Xilinx SDK,在该SDK上即可开发Linux上的应用程序,但我在使用的过程中发现该SDK自带的编译器与通常手动安装的交叉编译链有所不同,导致在程序编写的过程中缺少了很多头文件。为此,我试过将Ubuntu系统中的相关Linux头文件拷贝到了Windows系统并添加至SDK的搜索路径中,但最终由于Windows与Linux系统的诸多不同而失败。下一步,我将直接在Ubuntu系统上安装单独的SDK工具,并尝试将手动安装的交叉编译链添加至SDK中。我这么做的目的是将SDK提供的BSP和Linux系统下开发的应用程序结合起来,而不用在Linux系统中开发程序时重写BSP的相关接口。

下面回归到我们的主题,交叉编译环境的搭建,其实就是在Ubuntu中安装Xilinx提供的交叉编译链。

二、软件安装

[本文系统:Ubuntu14.04.5 LTS 64bit]

1、下载Xilinx交叉编译链:xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin(网络上有不少分享链接)

2、将交叉编译链拷贝到Ubuntu系统中,安装前在终端运行命令:“ sudo dpkg-reconfigure dash ”,在弹出的界面上选择“ 否 ”,退出。

(作用:设置默认的shell为bash;原因:Ubuntu安装的时候使用了dash,dash比bash体积小速度快,兼容性高。但是在bash下可以正常运行的一些sh在dash下不能使用,造成了一些麻烦。为了解决之,键入sudo dpkg-reconfigure dash,重新配置dash,并选择“no”,即不使用dash。)

3、在终端运行安装命令:“ sudo ./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin ”,然后出现安装界面,选择默认设置安装即可。

4、额外配置:手动添加环境变量,在终端运行命令“ gedit /etc/bash.bashrc ”打开bash.bashrc文件,在文件中添加如下内容:

export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH

(作用:将编译环境路径加入到PATH环境变量,以后编译程序时无需再使用export命令指定;其中,“ /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux ” 是交叉编译链的默认安装路径)

5、验证:在终端输入命令“ arm-xilinx-linux-gnueabi-gcc-v ”,若能打印出相关版本信息则说明安装成功。

PS:由于交叉编译链默认安装在了 /root 目录下,所以在终端上使用一般用户时可能无法访问,切换为 root 身份即可。

后续将继续探索前沿所说的“将SDK提供的BSP和Linux系统下开发的应用程序结合起来”,以及使用Code Blocks来作为开发工具(需将安装的交叉编译链配置进去)。

参考链接:

ZedBoard移植嵌入式Linux教程(5)——安装交叉编译工具链 | 电子创新网赛灵思中文社区

搭建Xilinx交叉编译环境 - CSDN博客

Zynq7000开发系列-3(Xilinx交叉编译环境搭建)的更多相关文章

  1. Zynq7000开发系列-4(新:Xilinx交叉编译环境搭建)

    一.前言  本来上一篇文章已经讲了Xilinx交叉编译环境的搭建,但是我在后续的使用中发现:使用2011年版本的交叉编译链编译OpenCV 3.1.0时出现错误: 网络搜索一番,查明是交叉编译链的问题 ...

  2. windows phone 8 开发系列(一)环境搭建

    一:前奏说明 本人一名普通的neter,对新玩意有点小兴趣,之前wp7出来的时候,折腾学习过点wp7开发,后来也没怎么用到(主要对微软抛弃wp7的行为比较不爽),现在wp8已经出来一段时间了,市场上也 ...

  3. Zynq7000开发系列-7(在Zybo上运行Linaro桌面系统)

    目标板:Zybo(7Z010) 主机操作系统:Ubuntu 14.04.5 LTS 64bit 交叉编译链: arm-xilinx-linux-gnueabi-       [gcc version ...

  4. YA157C交叉编译环境搭建

    目录 1.开发板简介 3.主机搭建交叉编译环境 4.编译第一个ARM Linux程序--Hello World 5.在开发板上运行Hello World程序 6.ssh登录开发板 7.注意 8.she ...

  5. Exynos4412交叉编译环境搭建

    Exynos4412交叉编译环境搭建 交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发.编译速度. 环境: Tiny4412SDK1506开发板 需要软件: arm-linux- ...

  6. Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...

  7. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  8. arcgis api for flex 开发入门(一)环境搭建

    http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...

  9. Android开发使用控件入门--环境搭建

    Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

随机推荐

  1. JavaWeb浏览器传值乱码

    在Java服务接口调用中,可能会出现乱码,如下图所示: 这是由编码不一致而致的乱码,可转,如下: name = new String(name.getBytes("ISO-8859-1&qu ...

  2. Vue数据双向绑定探究

    前面的啰嗦话,写一点吧,或许就有点用呢 使用过vue的小伙伴都会感觉,哇,这个框架对开发者这么友好,简直都要笑出声了. 确实,使用过vue的框架做开发的人都会感觉到,以前写一大堆操作dom,bom的东 ...

  3. Telnet连接远程服务器

    使用Telnet远程连接服务器端 现在大多数人使用win7系统.在win7系统中默认已经安装好了telnet服务,我们只需要从服务中将其打开即可, 步骤在首先打开控制面板-->卸载程序--> ...

  4. 为什么要把页面放在 WEB-INF 路径下?

    1.基于不同的功能 JSP 被放置在不同的目录下 这种方法的问题是这些页面文件容易被偷看到源代码,或被直接调用.某些场合下这可能不是个大问题,可是在特定情形中却可能构成安全隐患.用户可以绕过Strut ...

  5. 简单快捷地测试 JPush API

    随着 JPush API v3版本的推出,加上之前开放的 Report API,JPush API 逐渐切换为比较好的符合 REST API 的规范,从而也很容易地使用一般的 HTTP/REST 工具 ...

  6. 在KitKat(Android 4.4.2) 推送网址给手机

    弱者才会回避问题. 最近想把网址推送给手机实现后台下载,打算故技重施,用短信传送然后中断广播的方法实现隐蔽传送.试了半天发现怎么现在拦不住短信了.查了一下才发现原来Android4.4增加了一个安全机 ...

  7. HihoCoder 1473 : 小Ho的强迫症( 欧几里得 )

    描述 小Ho在一条笔直的街道上散步.街道上铺着长度为L的石板,所以每隔L距离就有一条石板连接的缝隙,如下图所示. 小Ho在散步的时候有奇怪的强迫症,他不希望脚踩在石板的缝隙上.(如果小Ho一只脚的脚尖 ...

  8. linux下配置jdk+tomcat

    安装软件包 下载jdk和tomacat安装包,我这里使用的是jdk-8u144-linux-x64.tar.gz和apache-tomcat-8.5.23.tar.gz. 分别解压这两个安装包,用命令 ...

  9. Azure AD (5) 在单一目录下,使用Azure AD单点登录

    <Windows Azure Platform 系列文章目录> 本文介绍的是,在单一目录下,使用Azure AD Connect,打通本地Domain Controller 我们需要准备的 ...

  10. HDU2874(LCA应用:求两点之间距离,图不连通)

    Connections between cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...