一、前言

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

其实在所安装的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. Linux下Redis C++操作的封装

    安装和启动Redis服务...略!很粗糙的版本,待改进... Redis Client C++示例代码...略! /** * Time: 14-3-10 * File: RedisCache.h * ...

  2. Android 反编译工具

    想必玩安卓的童鞋大多都知道,安卓的APK安装包是可以反编译出源代码的,如果开发人员发布时没有对其混淆等加密处理,反编译出来的代码几乎与真实的源代码一模一样. 想要反编译apk,需要用到apktool. ...

  3. Vue源码探究-状态初始化

    Vue源码探究-状态初始化 Vue源码探究-源码文件组织 Vue源码探究-虚拟DOM的渲染 本篇代码位于vue/src/core/instance/state.js 继续随着核心类的初始化展开探索其他 ...

  4. 【 spring配置文件详解】

    转自: http://book.51cto.com/art/201004/193743.htm Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的 ...

  5. 发布镶嵌数据集,服务端Raster Function制作

    1.新建GDB 2.GDB里右键,New 镶嵌数据集. 3.向镶嵌数据集中添加风速TIF. 4.利用原样式,导出一个函数模板. 导出是XML. 5.发布ImageService服务时,在Functio ...

  6. ansible-playbook 打通ssh无秘钥

    建议参考: http://www.cnblogs.com/jackchen001/p/6514018.html 这个代码清晰,效果佳! 参考链接: http://www.cnblogs.com/cao ...

  7. 002 - 配置Pycharm的背景颜色为豆沙绿护眼

    本文记录的是Pycharm2017年1月版本 Pycharm有自带的主题可供选择, 好多小伙伴喜欢使用Monoka的风格 但是也有不是很喜欢黑底风格的小伙伴可以使用默认主题+豆沙绿来替代 默认主题是白 ...

  8. BZOJ_1495_[NOI2006]网络收费_树形DP

    BZOJ_1495_[NOI2006]网络收费_树形DP Description 网络已经成为当今世界不可或缺的一部分.每天都有数以亿计的人使用网络进行学习.科研.娱乐等活动.然而, 不可忽视的一点就 ...

  9. 关于yolo 模型中1X1卷积层的作用

    1X1卷积层的作用: 1.实现跨通道的交互和信息整合.2.进行卷积核通道数的降维和升维.3.就是可以在保持feature map 尺寸不变(即不损失分辨率)的前提下大幅增加非线性特性,把网络做得很de ...

  10. SQL Server中查询CPU占用高的SQL语句

    SQL Server中查询CPU占用高的情况,会用到sys.sysprocesses ,dm_exec_sessions ,dm_exec_requests 一.查看当前的数据库用户连接有多少 USE ...