准备工作:
vivado 2018.3
创建一个vivado项目,如下图所示:
核心选择xc7z020clg400-2,如下图所示:
创建一个block design,如下图所示:
添加zynq核心IP核,如下图
下面博者简要地介绍一下页面导航面板中各个页面的作用。
在Zynq Block Design页面,显示了Zynq处理系统(PS)的各种可配置块,其中灰色部分是固定的,绿色部分是可配置的,按工程实际需求配置。可以直接单击各种可配置块(以绿色突出显示)进入相应的配置页面进行配置,也可以选择左侧的页导航面板进行系统配置。
DDR Configuration页面用于设置DDR控制器配置信息。
Peripheral IO Pins页面可以为不同的I/O外设选择MIO/EMIO配置。
PS-PL Configuration页面能够配置PS-PL接口,包括AXI、HP和ACP总线接口。
MIO Configuration页面可以为不同的I/O外设具体配置MIO/EMIO。
Clock Configuration页面用来配置PS输入时钟、外设时钟,以及DDR和CPU时钟等。
SMC Timing Calculation页面用于执行SMC时序计算。
Interrupts页面用于配置PS-PL中断端口。
双击zynq核心IP进入设置界面,设置memory part(memory part可以在资料手册上查找,需要注意的是,我们在这里选择的型号并不是领航者核心板上的DDR3型号,而是参数接近的型号,或者说兼容的型号。其他的配置选项保持默认即可):
查找正点原子核心板原理图,引脚接口,查找对应的引脚号进行配置:
同上查找ethernet接口,完成如下配置:
进行clock配置频率默认即可:
由于博者是定制最小系统,将PS中与PL端交互的接口信号移除,如下图:
(下图是在Genernal下的resets)
完成IP核的设置,点击ok,之后就出现下图,自动连接。
再按照跑bit文件的操作,完成接下来的步骤
创建顶层文件,再运行,生成bit文件
将生成的bit文件,hwh文件,tcl文件,hdf文件打包成.spec文件,通过spec文件来定制pynq系统。
如今的hdf文件已经弃用,博者在tcl命令中输入以下命令:
file copy -force D:/Downloads/pynq_jingxiang/pynq_min/pynq_min/pynq_min.runs/impl_1/pynq_min_wrapper.sysdef D:/Downloads/pynq_jingxiang/pynq_min/pynq_min/pynq_min.sdk/pynq_min_wrapper.hdf
即可完成hdf文件的导出
注意,要提前创建好pynq_min.sdk文件。
其中hwh文件和tcl文件在如下图路径下
在base文件同路径下创建txt文件,修改如下.spec文件,并在文件中输入如下脚本文件
创建新文件夹,修改名字如下
在上图创建的新文件夹下创建如下文件,修改名字如下,并将hdf文件复制粘贴至此文件夹下
博者通过制作spec文件来使用petalinux定制pynq最小系统,以上是博者制作的spec文件。本章中使用的是windows系统,接下来博者会将制作好的文件传到ubuntu系统下,使用petalinux定制pynq镜像。