ZYNQ笔记(2):PS端——Hello World !

  PL端使用过后,来到了ZYNQ核心的部分:PS端,现在用Vivado软件对ZYNQ-7000开发板的PS端进行第一个程序设计:Hello World。

一、新建Vivado工程

1.打开Vivado,新建一个工程,Next

 

 2.设置工程名称和工程所在目录,Next

 3.选择第一项:RTL Project,Next

 4.添加资源,可以直接Next

 5.添加约束,可以直接Next

 6.芯片型号选择xc7z020clg400-1,Next

7.总结页面,Finish

 8.进入Vivado工程页面,左边是导航栏,可以直接点击Generate Bitstream,上面的选项也会按顺序被执行。Open Hardware Manager则是硬件管理,用于下载、调试等。

 9.如果连接好了板卡,那么点击Open Hardware Manager --- Open Target则可以看到板卡信息。

 

 二、ZYNQ IP核设置

 1.点击导航栏的 IP INTEGRATOR --- Create Block Design,弹出工程名称和工程位置,填写后点OK

 2.点击中间的 + 号添加IP,然后在弹出的小窗口中选择ZYNQ,双击该IP核

 3.此时看到ZYNQ的接口界面,有几个引脚,我们只需要最简单的系统,双击ZYNQ进行参数设置

 4.进入到ZYNQ内部资源区域,此处可以看到内部有哪些资源可以使用。

Zynq Block Design       主页面
PS-PL Configuration     PS到PL的相关接口配置信息以及PS部分的一些配置信息
Peripheral I/O          Pins 通用外设接口的配置
MIO Configruation       对MIO以及EMIO的分配控制
Clock Configruation     PS端时钟资源的配置和管理
DDR Configration        DDR控制器的一些参数配置
Interrupts              中断的配置管理

5.点击左侧的PS-PL Configuration, 取消勾选这两项。

6.点击左侧的MIO Configuration,电压设置成LVCMOS 1.8V,用到了SD和UART,因此勾选它们并且设置引脚编号。

 7.选择Clock Configuration,本实验没有用到FPGA板卡时钟,因此取消勾选。

8.点击左侧DDR Configuration,勾选Enable DDR,点击展开,对DDR进行一些参数设置,之后点击OK

 

 9.回归到ZYNQ主页面,可以看到比之前更简洁了。上面绿色横条处点击Run Block Automation

 10.点击OK

 11.ZYNQ变成了如下的结构图。

12.点击 Source 栏的工程,鼠标右键选择 Generae Output Products

13.弹出一个小窗口,第一项为全局模式,更慢但保险,第二项为OOC模式,更快但有逻辑问题时会编译不通过,我们选第一项,下面线程根据自己电脑配置选择最大的即可。

14.设置让Vivado管理我们的文件,点击Sources,右键选择Create HDL Wrapper,弹出的小页面点击OK

15.完成后的界面如图所示

三、使用SDK进行软件开发

1.本次实验只有 PS 部分的管脚,没有 PL 部分的管脚,而且 PS 部分的管脚都是固定的,所以我们不需要添加管脚约束文件。另外因为没有使用 PL 部分的资源,我们也不需要在 Vivado 下编译和生成 bit 文件了。直接将文件导出到SDK开发目录,点击 File --- Export --- Export Hardware

2.未用到bit流文件,不用勾选 Include bitstream ,直接点 OK

 3.启动SDK,点击File Launch SDK,弹出的小窗口直接点OK就行

4.直接点 OK

 5.如图所示便是SDK软件开发界面了。

 6.新建一个软件的APP,用于后面的C语言编程。点击File --- New --- Application Project

 7.填写项目名称,点击Next

 8.选择Hello World,点击Finish

 9.此时软件自动开始编译,也可点击 Build Project手动编译,编译完成后出现Hello World 的程序,如果编译出错,可以点击 Clean Project 重新编译。

 10.本实验需要用到Uart串口,我们打开我的电脑 --- 设备管理器 --- 端口,检查是否已经连接好串口

 11.回到SDK界面,看到界面下方有一个SDK Terminal,点击该选项,并且点击那个+号,设置其自带的串口工具的参数。

 12.点击如下选项

 13.如果跳出如下界面,点击No

 14.点击右上角的按钮可以进行界面切换

15.点击如下图标可以进行FPGA配置,点击Program将程序烧录进板卡,这时跳出小窗口就要选择yes了。

 

16.当然,你也可以点击这个选项进行FPGA配置,这时跳出小窗口就要选择yes了。

17.页面出现如下的文件目录,表示成功。

18.界面上方有几个调试选项:

  Resume:运行到断点为止

  Step into:进到函数内部

  Step over:单步调试

  Step return:跳出函数内部

这里选择单步调试即可,可以看到界面下方的SDK Terminal中显示出:Hello World

19.当然,也可以使用电脑里的窗口助手软件进行接收,先在SDK Terminal界面中点击X关闭该功能,然后打开电脑里的串口助手,助手需要打开处于可以工作状态,接收设置成ASCII模式。重新回到SDK界面运行程序,可以看到串口助手同样显示出:Hello World

 

四、补充:C语言界面设置

  默认的C语言界面没有行号,而且字体非常小,下面说下怎么调整。

1.点击顶层导航栏的Window---Preferences,点击General---Editors---Text Editors,将下面的Show line numbers勾选上即可显示行号了。

2.然后点击右侧的蓝字'Colors and Fonts',右侧页面变换后选择C/C++---Editor---C/C++ Editor Text Font,点击右侧Edit...即可调整字体和字号,建议字号为14。

 

参考资料:

[1]V3学院FPGA教程

[2]何宾, 张艳辉. Xilinx Zynq-7000嵌入式系统设计与实现[M]. 电子工业出版社, 2016.

posted @ 2019-07-13 19:46  咸鱼IC  阅读(8088)  评论(2编辑  收藏  举报