你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

基于zynq的交叉编译平台

发布者:jackzhang 时间:2015-10-12 19:56:14

来源:http://bbs.eetop.cn/thread-373710-1-1.html

Zynq芯片的最大特点是其集成了双ARMCortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系统,如LinuxVxworks等等,如果裸机跑未免太浪费这个双核了。


本节就介绍一下建立基于zynqlinux交叉编译平台,例如在windows上的gcc编译平台,也有基于ARM的编译平台,xilinx提供了wiki网站,其中有详细的关于zynq芯片的linux资料,网址如下:http://wiki.xilinx.com/


首先建立交叉编译平台需要有个跑linuxPC机,由于手头上没有,因此果断选择了虚拟机,笔者在VMware软件上安装了Ubuntu12.04,以下则以Ubuntu12.04为平台介绍建立交叉编译平台:


1.GIT


Xilinx通过git管理网站上的资源,因此首先在ubuntu上安装git程序,通过指令apt-get install git安装;


安装完成后,可以克隆网站上的资源,如图1所示为xilinx wiki网站上git管理的资源,可以发现分工程管理;

1.png



1


关于linux的资源在工程linux-xlnx.git中,可以通过指令克隆linux资源,如下指令:

  1. git clonegit://git.xilinx.com/linux-xlnx.git
复制代码



2.安装编译环境


接下去就可以建立交叉编译平台了,首先需要下载ARMGNU Tool, 在执行安装程序之前,需要切换shelldash,因为ubuntu默认的shellbash,切换指令如下:

  1. dpkg-reconfigure bash
复制代码

弹出如图2所示对话框,点击否

2.png



2

然后运行./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin执行安装

3-1.png



3-2.png



3-3.png



3-4.png



3


3. 设定环境变量

如果想编译软件,则需要通过export指令将编译环境加入PATH环境变量中,

  1. export ARCH=arm

  2. export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

  3. exportPATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH
复制代码


执行以上脚本后,可直接调用arm-xilinx-linux-gnueabi- 指令执行编译,所有编译指令如图4所示

4.png



4

如果想下次开机启动时自动加载这个环境变量,需要将以上脚本添加到/etc/bash.bashrc文件中,用sudo gedit /etc/dash. Bashrc执行编辑。


4. 软件编译

操作完以上几步,交叉编译环境建立完成,那就编译个小程序试试,

  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.          printf(“hello world!”);

  5.          return 0;
  6. }
复制代码


将以上程序保存为hello.c,执行arm-xilinx-linux-gnueabi-gcc hello.c,会生成a.out的二进制文件,如图5

5.png

5

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了