在ZYNQ进阶之路1-4中我们大致了解了ZYNQ PL端的开发流程以及使用verilog硬件描述语言写了几个硬件模块,希望大家在之前的章节中能有所收获,如果其中有技术上的问题属于博主技术知识有限希望读者多多谅解!也希望能通过博主邮箱(wanpengwork@163.com)告知博主,达到相互学习共同进步的目标。在接下来的几章节中博主主要针对PS端的基础开发流程以及外设模块设计,本章节讲解PS端hello xilinx zynq的设计,主要是熟悉基础开发流程。
首先我们打开vivado2018.1创建新的工程:
接下来按照第一章节中的工程创造流程操作接OK了,工程创造完成后如下所示:
接下来点击Create Block Design,设置Design name为ps_hello_xilinx_zynq:
点击图标添加ZYNQ PS的IP,xilinx将PS端的A9处理器以IP核的形式呈现的:
然后双击这个IP核进入设置界面:
点击上图左侧边栏 PS-PL Configuration 项,因为本设计只需要包含PS部分,不包含 PL 部分,也不和任何 PL 部分进行交互,所以勾掉默认的 FCLK_RESET0_N, M AXI GP0 interface,如下:
点击左侧边栏 Peripheral I/O Pins, 因为本设计要用到 UART 接口,核心板串口接口接在MIO48, 49 上,单击下图对应位置的 UART1, 变为绿色即为设置成功:
点击左侧边栏 Clock Configuration, 因为没有 PL 部分,勾掉默认的 FCLK_CLK0 项:
点击左侧边栏的 DDR Configuration 项, Memory 选择与硬件一致的 MT41J128M16 HA-125:
点击OK,到这里我们PS端就配置完成了。
回到 Diagram 窗口, 单击 Run Block Automation, 系统自动生成外围管脚:
如下, 自动生成了外围 DDR 和 FIXED_IO 端口, 点击下图左侧边栏 Validation Design 验证设计:
弹出成功窗口,点击OK:
回到 Source 窗口, 右键单击 ps_hello_xilinx_zynq, 选择 Generate Output Products, 生成此设计相关文件,如下
生成完成弹窗点击 OK。
再在 Source 窗口, 右键单击 ps_hello_xilinx_zynq, 选择 Create HDL Wrapper,生成此设计的顶层文
件, 如下:
弹出窗口选择让vivado自动更新,然后点击OK:
生成完成后,此设计的层次结构如下:
导出SDK,菜单栏选择 File > Export > Export Hardware, 如下:
弹出窗口不选择include bitstream,因为我们没有PL部分,所以没有bitstream文件:
然后点击launch SDK:
弹窗点击OK,即可打开SDK界面,系统已经给我们分配好了地址空间和一些基础文件:
建立 SDK 工程
菜单栏点击 File > New > Application Project,弹出 如下窗口,填写好工程名点击next:
点击hello_world,然后点击finish:
如下, 在生成的工程文件 src 窗口, 右键单击 helloworld.c选择Rename,文件名改为 ps_hello_xilinx_zynq.c, 双击打
开编辑窗口:
将主函数修改成我们的内容:
右击工程名,点击build Project重新编译工程:
将开发板上电, 连接电脑 USB 到开发板 JTAG 口,连接电脑另一 USB 到开发板 UART 口,开发板拨码开关 1, 2 都
设置为 ON,给开发板上电,菜单栏选择 Window > Show View > Other,如下图,
如下弹窗选择 Terminal, 点击 OK
点击如下连接按钮:
在如下打开的 Terminal Settings 窗口, 连接类型选择 Serial, Port 口选为 COM3(读者可以右键
单击桌面我的电脑 > 管理 > 设备管理 > 端口(COM & LPT)确认自己的串口 COM 号) , 波特率
选择 115200 (这是 Zynq 系统的默认串口速率) , 点击 OK
然后连接上下载线,如下操作将程序下载到开发板中:
然后接可以在串口上看到发送的数据啦。