在检查好板卡的状态后,可以开始开发新的工程了,为了方便用户快速进行开发,我们提供了一份针对该板卡的板卡文件,下载后将文件夹"iw-rfsoc-2t2r-47dr"复制进 Vivado/<version>/data/boards/board_files/ ,如果没有board_files目录就自行创建一个。打开Vivado即可选取“IW-RFSOC-2T2R”板卡。<version>为你使用的Vivado版本号。
在后面的内容中,我们将以此为基础一步步进行工程开发。
在创建工程时的"Default Part"阶段,选择"Boards"标签页,选择板卡列表中的"Interwiser RFSoC 2T2R Development Kit"板卡,然后点击"Next"。
如果在此阶段你没有找到图中所示的板卡文件,请检查文件是否正确安。注意!你需要将整个"iw-rfsoc-2t2r-47dr"文件夹复制进"board_files"文件夹,不能仅复制其下的子文件夹。
如果创建成功,你应该可以看到如下的界面。
新建一个"Block Design",添加一个"Zynq UltraScale+ MPSoC"实例。
点击上方自动跳出的"Run Block Automation"或者右键"ZYNQ"实例点击右键后选择"Run Block Automation"。
勾选"Apply Board Preset"复选框,并点击OK。
双击"Zynq UltraScale+ MPSoC"模块,点击"PS-PL Configuration",在"PS-PL Interface" > "Master Interface"中勾选"AXI HPM0 FPD"并取消勾选"AXI HPM0 LPD",即可完成"Zynq UltraScale+ MPSoC"实例的配置。
上一个小节已经成功配置了 PS 端的 DDR4 和 MIO 配置,该板卡除了 PS 端装配了一组 4GB DDR4 内存,还在 PL 端装配了一组 2GB DDR4 内存,其具体配置可以参见产品指南。在此我们可以快速配置,添加一个 "DDR4 SDRAM (MIG)" 实例,并双击它进行编辑,按下图选择后点击"OK"。
在配置完成后,点击自动弹出的"Run Connection Automation"并勾选"All Automation",同时将"sys_rst"选项切换为"resetn",然后点击"OK"。
如果操作正确的话,最后应该是如下结果。
如果所有设置都没有问题,即可以直接点击"Generate Bitstream"生成"BIT"文件。
在上一节中成功生成了"BIT"文件后,在Vivado中点击 "File" > "Export" > "Export Hardware..." 然后再在 "Output" 标签页中选择 "Include bitstream" 导出 ".xsa" 文件。
首先使用刚才生成的 ".xsa" 文件生成 Vitis 平台工程。
首先任选一个文件夹作为 Workspace 然后在左侧点击 "Create Platform Component",在弹出的标签页的 "Flow" 阶段的 "Hardware Design (XSA) For Implementation" 中选择刚刚生成的 XSA 文件,如下图所示。
选择 "File" > "New" > "Platform Project..." 随意起一个名字 (例如"plat") 后在 "Platform" 页面选择刚刚生成的 XSA 文件,如下图所示。
在平台工程的基础上,再创建一个应用工程,并使用样例中的 "Memory Test" 模板进行创建。
点击左侧 "Examples" 选项卡,选择其中的 "Memory Tests"工程,并单击标签页中的 "Create Application Component from Template",即可从模板创建工程。
在 "Hardware" 阶段中选择前面创建的平台工程。
编译链接好程序后,打开串口调试工具,并通过JTAG将程序下载入板卡,可以得到如下输出。
选择 "File" > "New" > "Application Project..." 在 "Platform" 选项卡中选择刚才创建的平台 ("plat"),然后在 "Application Project Detail" 标签页中如下设置。
在 "Templates" 标签页中选择 "Memory Tests" 工程并创建。
编译链接好程序后,打开串口调试工具,并通过JTAG将程序下载入板卡,可以得到如下输出。
在平台工程的基础上,也可以创建一个针对"Zynq"板卡的更详细的测试工程,即使用 "Zynq MP DRAM tests" 模板进行创建。
点击左侧 "Examples" 选项卡,选择其中的 "Zynq MP DRAM tests"工程,并单击标签页中的 "Create Application Component from Template",从模板创建工程。编译链接好程序后,打开串口调试工具,并通过JTAG将程序下载入板卡,可以得到如下输出。
在上一节的 "Templates" 标签页中选择 "Zynq MP DRAM tests" 工程并创建。编译链接好程序后,打开串口调试工具,并通过JTAG将程序下载入板卡,可以得到如下输出。
根据菜单提示,可以对内存进行更详细的测试。