Zedboard之Hello World(ISE14.6)

本次实验旨在跑一下《软硬件协同设计》书里的Demo程序,熟悉一下开发流程

目的如下:1、通过USART和PC端通信,显示“Hello World”              

  2、PC端发送Hex,相应的LED亮起(这里有MIO和EMIO各4个)

平台如下: Zedboard板子一枚、ISE 14.6河蟹版软件一套

据说Xilinx准备在8系列中,全面支持下一代开发工具Vivado,也就是说上一代的ISE可能逐渐淡出舞台。虽说如此,但是国内有那么多的ISE工具应用开发者,一时半会应该不会有什么大地震。但是为了平滑过渡,现在提倡用PlanAhead来开发Xilinx的FPGA。据说PlanAhead和Vivado用的是统一的GUI,不同的只是换了更高效更强大的编译器和综合器,具体是不是就不得而知了,因为没用过(电脑跟不上,玩不起Vivado)。

回来正题,流程附图如下:

1、打开PlanAhead 14.6,这时会有个黑色类似cmd界面的启动窗,不用管,待会启动完后会自动关掉(道听途说,Vivado也会有这个黑窗,但不会关闭),启动后会弹出PlanAhead主界面。选择Create New Project

Zedboard之Hello World(ISE14.6)_第1张图片

2、在工程类型选择RTL Project

Zedboard之Hello World(ISE14.6)_第2张图片

3、之后的Add Sources和Add Existing IP 可以先不理,Next下去,直到选择板卡和芯片型号。ISE14.6里面已经支持Zedboard开发板,所以这里在Board里面可以直接选择Zedboard Zynq Evaluation and Development Kit。

Zedboard之Hello World(ISE14.6)_第3张图片


4、搞定后,PlanAhead主界面

Zedboard之Hello World(ISE14.6)_第4张图片


5、选择Add Sources后,在弹出界面中选取Embedded Sources(这里好似是把A9核当做一个子系统添加进来)

Zedboard之Hello World(ISE14.6)_第5张图片


6、选择Create Sub-Design

Zedboard之Hello World(ISE14.6)_第6张图片

7、之后会Lanch XPS来配置子系统。在开始时候会弹出如下窗口,点击OK就行。

Zedboard之Hello World(ISE14.6)_第7张图片


8、为了简化对PS的预配置,点击IMPORT,选择提供的Zedboard Template配置文件,由图可以看到Zynq的PS已经根据Zedboard的Demo程序配置好了PS。

Zedboard之Hello World(ISE14.6)_第8张图片


9、为了对比EMIO,点击System Assembly View下的IO Perlpherals,添加4个EMIO

Zedboard之Hello World(ISE14.6)_第9张图片


10、利用GPIO IP核

Zedboard之Hello World(ISE14.6)_第10张图片

11、添加完成后,可以看到GPIO的IP核已经和PS通过AXI相连

Zedboard之Hello World(ISE14.6)_第11张图片


12、链接完了之后,将GPIO的IP核和PS的GPIO连接到外部Ports

Zedboard之Hello World(ISE14.6)_第12张图片


弄完后,分配地址。DRC后,关闭XPS。
回到PlanAhead中,Create Top HDL,逻辑综合Run Synthesis,以及添加ucf引脚约束后,Implementation,再BitGen。


硬件平台配置好后,进行软件的编写。首先从PlanAhead中Export Hw

Zedboard之Hello World(ISE14.6)_第13张图片


(这里要注意一点,有时候那个Include bitstream选项没有了,这时在后来的SDK下载时候会无法定位,可以用Export Bitstream来弥补)

12、创建Application Project后,选择Hello World会多出BSP以及工程文件,加上之前的硬件Platform,总共三大项。


Helloworld.c进行修改后,就可以实现功能了。

Zedboard之Hello World(ISE14.6)_第14张图片

13、为了使用SDK的Console来串口通信,可以在Run-->Run Configuration里面设置STDIO

Zedboard之Hello World(ISE14.6)_第15张图片


14、Xilinx Tools--->Program FPGA 下载bitstream。

15、之后在Project Explorer中右击工程文件,Run As---》Launch On Hardware,运行。效果如下

Zedboard之Hello World(ISE14.6)_第16张图片


过程问题总结:

1、Program FPGA时候无法找到JTAG

解决:首先怀疑是驱动问题,重装了Cypress的USB驱动,问题依旧。最终发现是少了一条Micro USB线,

Zedboard之Hello World(ISE14.6)_第17张图片

就是说,要开发的话需要三条线插在板上,两条Micro Usb(一个用作串口,一个Digilent的Jtag下载口),一条电源线。





你可能感兴趣的:(Zynq,Zedboard,helloworld)