zoukankan      html  css  js  c++  java
  • ZT一步一步学ZedBoard & Zynq(一):ZedBoard的第一个工程Helloworld

    Zed板上的Zynq是一个ARM PS(processing system, 双核A9 + 存储管理 + 外设)+ PL(programable Logic) 结构,如果不使用PL,zynq的开发和普通的ARM 开发一样。不同的是ARM PS是可配置,因而硬件信息是不固定的。这也是zynq灵活性的一个表现。

    这是本系列的第一篇,因而会给出详细步骤的截图。

    更多更新请关注我的博客:@超群天晴 http://www.cnblogs.com/surpassal/

    硬件平台:Digilent ZedBoard

    开发环境:Windows XP 32 bit

    软件:PlanAhead 14.1 + XPS 14.1 + SDK 14.1

    一、配置硬件信息

    启动PlanAhead,进入新建工程向导

    选择工程名和路径

    工程类型,这里选择 RTL 工程

    由于只需要PS部分信息,而这部分在后面由XPS完成,因而不需要添加任何文件

    一直点下一步,直道出现芯片和板载信息。直接选择Boards,选择系列是Zynq-7000。14.1目前只支持XC7Z020器件。

    完成新建工程向导

    PlanAhead进入工作视图,在Project Manger中选择建立的工程,右键,Add Sources

    选择 Add or Create Embeded Sources

    单击 Create Subdesign

    输入需要建立嵌入系统名称,这里填duocore

    确定后,提示所建立的工程是一个Zynq工程,提示是否添加PS到系统。点确认。

    XPS会被启动,可以看到Zynq的配置界面。Diligent公司做好了一套配置方案,从其网站上能下载到配置文件:

    import这个配置文件,点“+”找到文件位置后,点OK

    可以看到配置后的结果,同时MHS和UCF文件也被修改。其中有颜色标记为使用,没有颜色标记表示没有使用。可以对其修改,这是对应ZedBoard的硬件接口,保持默认就可。

    至此,硬件配置结束。关闭XPS,切换到PlanAHead。可以看到duocore.xmp已经加入到工程中。

    在硬件配置文件duocore.xmp上右键,选择Create Top HDL,生成顶层HDL文件

    可以看到生成的duocor_stub.v文件

    最后一步,将硬件信息导入到SDK。File->Export Hardware

    为了方便管理,软件workspace放在software目录下。

    二、建立软件工程

    Export结束后,会自动启动SDK。界面如下。可以看到工程浏览器Project Explorer中已经有一个硬件平台duocore_hw_platform,里面有一系列配置和初始化文件。不要修改这些文件。

    新建Xilinx C 工程。

    新工程建立向导。这里我们建立最简单的测试工程helloworld。

    修改源代码。将工程源文件内容修改,如下

    复制代码
    //@超群天晴 http://www.cnblogs.com/surpassal/  1 #include <stdio.h>
     2 #include "platform.h"
     3 
     4 void print(char *str);
     5 
     6 int main()
     7 {
     8     init_platform();
     9 
    10     print("Hello World from Zynq\n\r");
    11     print("这是Zynq ARM 测试\n\r");
    12     print("2012年9月8日14:30:48\n\r");
    13     print("超群天晴\n\r");
    14     cleanup_platform();
    15 
    16     return 0;
    17 }
    复制代码

    至此,工程建立完成

    三、编译和下载

    给ZedBoard上电,将启动模式设置为Jtag启动,将mini USB下载线接上,并将mini USB to Uart接上。

    启动电脑上的超级终端,配置串口和波特率,115200

    右键工程hello_world_0,build,编译工程。

    右键工程hello_world_0,run->run configuration,打开下载配置界面。双击Xilinx C/C++ ELF,建立新的下载配置。默认即可。

    点run,开始下载。等待下载完成,可以看到ZedBoard向超级终端发来的信息

    =======================================

    在参照本篇博客进行设计时网友遇到的问题及解决方法

    Q1:在export to sdk的过程中出现了如下错误   ERROR: [Common 17-49] Internal Data Exception: xps application failed!

    此问题可以参照http://forums.xilinx.com/t5/Design-Planning/XPS-application-ahead/td-p/249608

    主要问题应该是1、安装路径非法(有空格或者不可识别字符) 2、工程路径非法(有空格或者不可识别字符) 3、ubuntu中gmake没有被添加到环境变量中

    检查并修改配置就可以解决

    =======================================

    工程下载:project_4.rar

  • 相关阅读:
    ES基本介绍
    Mybatis 读写分离简单实现
    分享一个Flink checkpoint失败的问题和解决办法
    一次“内存泄露”引发的血案
    记一次堆外内存泄漏排查过程
    MySQL主从复制读写分离,看这篇就够了!
    JVM运行时内存数据区域
    .NET MVC 页面传值方式
    jQuery 对表格内容进行搜索筛选
    泛型
  • 原文地址:https://www.cnblogs.com/lihao602/p/2968703.html
Copyright © 2011-2022 走看看