ZYNQ开发_Vivado_裸机开发流程

ZYNQ开发_Vivado_裸机开发流程

  • 文章信息
  • 开发环境
  • 开发流程

文章信息

撰写日期 2019.07.07
完稿日期 2019.07.07
最近维护 2019.07.07
本文作者 multimicro
联系方式 [email protected]
资料链接 本文无附件资料
GitHub https://github.com/wifialan/

开发环境

环境说明 详细信息 备注信息
操作系统 Windows_x64
Vivado版本 2018.3 官网地址
开发板型号 ZYNQ7010(米联客 MiZ701N_F)

开发流程

  1. 建立vivado工程,选择好开发板型号
    ZYNQ开发_Vivado_裸机开发流程_第1张图片
  2. 新建一个IP,命名好名字后,点击 + 添加一个IP核
    ZYNQ开发_Vivado_裸机开发流程_第2张图片
    这里选择ZYNQ7 Processing SystemZYNQ开发_Vivado_裸机开发流程_第3张图片
    ZYNQ开发_Vivado_裸机开发流程_第4张图片
    双击这个IP核,进行配置,分别要配置时钟、内存、外设、IO等,其中最主要的就是时钟和内存
    1) 时钟配置
    ZYNQ开发_Vivado_裸机开发流程_第5张图片
    这里的时钟是根据原理图上的时钟要配置的,可不是固定的哦,MiZ701N的板子晶振为50MHz,至于下面那个框起来的参数,暂时还不清楚为什么是100MHz,有知道的小伙伴可以告诉我呀,在这里先谢谢啦,我刚开始学,还不是很了解。
    ZYNQ开发_Vivado_裸机开发流程_第6张图片
    2) 内存型号配置,这个还是要看板子配套原理图上的内存型号,有这个型号的话,其他配置默认即可。
    ZYNQ开发_Vivado_裸机开发流程_第7张图片
    ZYNQ开发_Vivado_裸机开发流程_第8张图片
    3) 外设模块的配置,注意,ENET0这里的红框是P过得,展开后那个MDIO看不到,所以,这里给P上去了ZYNQ开发_Vivado_裸机开发流程_第9张图片
    如若点亮一个LED,那么就要配置GPIO口了
    ZYNQ开发_Vivado_裸机开发流程_第10张图片
    红框是PS部分的GPIO口,蓝框的是PL控制的GPIO口,这个在Zynq-7000 Soc Techniccal Refernce manual里面有提到
    ZYNQ开发_Vivado_裸机开发流程_第11张图片

MIO 分配在bank0 和bank1 直接与PS 部分相连,EMIO 分配在bank2 和bank3 和PL部分相连。除了bank1 是22-bit 之外,其他的bank 都是32-bit。所以MIO 有53 个引脚可供我们使用,而EMIO 有64 个引脚可供我们使用。

使用EMIO 的好处就是,当MIO 不够用时,PS 可以通过驱动EMIO 控制PL 部分的引脚,接下来就来详细介绍下EMIO 的使用。

EMIO 的使用和MIO 的使用其实是非常相似的。区别在于,EMIO 的使用相当于,是一个PS + PL 的结合使用的例子。所以,EMIO 需要分配引脚,以及编译综合生成bit文件。


上面文字摘自米联客《ZYNQ SOC修炼秘籍》P255页

若采用MIO,则不需要约束文件,因为是直接对PS操作,若对使用EMIO,则需要xdc约束文件来对GPIO进行映射。如下图已经是启用EMIO了,详情操作参考《ZYNQ SOC修炼秘籍》中S02_CH03_EMIO章节。
ZYNQ开发_Vivado_裸机开发流程_第12张图片
ZYNQ开发_Vivado_裸机开发流程_第13张图片
然后点击
在这里插入图片描述

产生Bitstream然后
1) Export一下
2) Lanuch SDK一下
3) 进入SDK进行下一步开发
ZYNQ开发_Vivado_裸机开发流程_第14张图片
ZYNQ开发_Vivado_裸机开发流程_第15张图片
ZYNQ开发_Vivado_裸机开发流程_第16张图片
3. 进入SDK开发后,若新建的工程有错无法正常运行,十有八九是Vivado上配置IP核出错了,仔细检测时钟和内存型号已经外设是否正确配置。其余详见《修炼秘籍》

你可能感兴趣的:(Zynq)