• 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.

  • 相关阅读:
    Flask-SQLAlchemy 学习总结
    ubuntu安装redis
    PostgreSQL在Ubuntu上安装指南
    Linux(Ubuntu)下MySQL的安装与配置
    python wechat_sdk间接性的出现错误OfficialAPIError: 40001,说access_token已过期或者不是最新的。
    django不要设置datetime字段auto_now=True
    python 装饰器和 functools 模块
    关于 Python Iterator 协议的一点思考
    python中的enumerate函数
    8 种常被忽视的 SQL 错误用法
  • 原文地址:https://www.cnblogs.com/xianyufpga/p/11181816.html
Copyright © 2020-2023  润新知