超群天晴

【原创】一步一步学ZedBoard & Zynq(一):ZedBoard的第一个工程Helloworld

0
阅读(12722)

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