文章信息
撰写日期 | 2019.07.07 |
---|---|
完稿日期 | 2019.07.07 |
最近维护 | 2019.07.07 |
本文作者 | multimicro |
联系方式 | multimicro@qq.com |
资料链接 | 本文无附件资料 |
GitHub | https://github.com/wifialan/ |
开发环境
环境说明 | 详细信息 | 备注信息 |
---|---|---|
操作系统 | Windows_x64 | |
Vivado版本 | 2018.3 | 官网地址 |
开发板型号 | ZYNQ7010(米联客 MiZ701N_F) |
开发流程
- 建立vivado工程,选择好开发板型号
- 新建一个IP,命名好名字后,点击 + 添加一个IP核
这里选择ZYNQ7 Processing System
双击这个IP核,进行配置,分别要配置时钟、内存、外设、IO等,其中最主要的就是时钟和内存
1) 时钟配置
这里的时钟是根据原理图上的时钟要配置的,可不是固定的哦,MiZ701N的板子晶振为50MHz,至于下面那个框起来的参数,暂时还不清楚为什么是100MHz,有知道的小伙伴可以告诉我呀,在这里先谢谢啦,我刚开始学,还不是很了解。
2) 内存型号配置,这个还是要看板子配套原理图上的内存型号,有这个型号的话,其他配置默认即可。
3) 外设模块的配置,注意,ENET0这里的红框是P过得,展开后那个MDIO看不到,所以,这里给P上去了
如若点亮一个LED,那么就要配置GPIO口了
红框是PS部分的GPIO口,蓝框的是PL控制的GPIO口,这个在Zynq-7000 Soc Techniccal Refernce manual里面有提到
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章节。
然后点击
产生Bitstream然后
1) Export一下
2) Lanuch SDK一下
3) 进入SDK进行下一步开发
3. 进入SDK开发后,若新建的工程有错无法正常运行,十有八九是Vivado上配置IP核出错了,仔细检测时钟和内存型号已经外设是否正确配置。其余详见《修炼秘籍》