5415|2

859

帖子

3

TA的资源

版主

楼主
 

【Zynq UltraScale+MPSoC学习01】Helloworld最小系统的搭建 [复制链接]

本帖最后由 1nnocent 于 2024-8-5 11:38 编辑

    实现PS端通过串口输出HelloWorld功能,熟悉ZYNQ的操作流程。本次实验使用的芯片是Xilinx Zynq UltraScale+ MPSoC系列,型号为XCZU9CG FFVB1156。使用的软件:vivado2023.2、vitis2023.2。

MPSoC最小系统

    MPSoC最小系统包含ARM核心,DDR4,串口(用于打印PS端运行的信息)。

 

step1 创建vivado工程

    打开vivado2023.2后Create Project,根据提示给工程命名并选择工程存放路径,选择相应的芯片(xczu9cg-ffvb1156-2-i)。

 

step2 使用IP Integrate Processing System

    点击Create Block Design创建Block Design并命名,点击“+”号添加Zynq UltraScale+ MPSoC IP核。

 

    生成下图的IP核:

 

    双击该IP核配置外设,此时IP核中maxihpm0_lpd_aclk、pl_clk0、pl_resetn0、M_AXI_HPM0_LPD等接口,这些接口在本实验中不需要,所以要将这些接口关掉。双击IP核后点击UART1,在跳出的窗口中勾选UART1并选择MIO24.25(在选择MIO时需要查看硬件原理图将需要使用的串口接到芯片的那个引脚)。

step3 生成顶层HDL

      选中I/O Configuration 中设置IO bank的供电电压(需要查看硬件原理图设置相应的供电电压);选中Clock Configuration,点击Output Clocks取消“PL0”的勾选该部分给PL提供时钟,由于本实验没有使用PL端所以取消勾选。

   

    选中DDR Configuration,根据硬件原理图使用的DDR颗粒进行相应的配置。

      选中PS-PL Configuration,取消Fabric Reset Enable和AXI HPM0 LPD。

 

    以上配置完成后点击OK得到的IP核如下图所示,之前不需要的接口都去掉了。

 

step4 (生成Bitstream)并导出Hardware

    本次实验没有使用PL端,所以不需要生成Bitstream,右击创建的Block Design并点击Generate Output Produces。

 

    Generate Output Produces运行完成之后右击创建的Block Design并点击Create HDL Wrapper。

 

    点击File->Export->Export Hardware。

 

    由于没有Bitstream所以不需要include bitstream,命名并选择保存路径。

 

step5 在Vitis中进行软件设计

    点击Tools->Launch Vitis IDE打开Vitis进行设计。

 

    打开vitis后点击Open Workspace选择一个路径作为工作空间,建议在vivado工程目录下新建一个Vitis文件夹,并将生成的xsa文件放到该文件夹下,将这个文件夹设置为工作空间。

 

    单击 Vitis Unified IDE 中的“File”(文件)选项,然后选中“New Component” → “Platform”(新建组件 > 平台)。

 

    选择给Platform命名并选择保存路径后选中xsa文件的路径。

  

 

    创建完成之后左边VITIS窗口中可以看到Platform工程。

 

    点击自带历程选择HelloWorld

 

    命名并选择保存路径。

 

    选择刚刚创建的Platform后一路Next直到Finish。

 

    创建完成之后左边VITIS窗口多了一个Application文件,点击Source->Src->helloworld.c可以查看代码。

 

    坐标FLOW窗口中选中Platform文件并进行编译。

 

    将文件换成Application文件,进行同上的编译操作。

 

step6 板级验证

    硬件上连接JTAG接口和UART接口,打开串口调试助手进行以下设置并打开串口:

 

    FPGA开发板进行上电,Vitis中运行代码并观察串口输出现象。

 

    成功运行HelloWorld程序。

 

结语

    本实验主要是熟悉Zynq PS端的开发过程,目前网络上找到的教程都是2023.2之前的版本,从2023.2之后的Vitis的操作界面和之前差别较大,跟着网络上旧版本的操作学习时都没能实现功能,最后结合官方文档《ug1400-vitis-embedded-zh-cn-2023.2.pdf》的操作流程后终于实现了HelloWorld功能。

此帖出自FPGA/CPLD论坛

最新回复

跟着网络上旧版本的操作学习时都没能实现功能,看来新的Zynq PS变化挺多   详情 回复 发表于 2024-8-1 08:56
点赞(1) 关注
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

跟着网络上旧版本的操作学习时都没能实现功能,看来新的Zynq PS变化挺多

此帖出自FPGA/CPLD论坛

点评

主要还是刚开始学Zynq,而且用的软件版本也比较新。 vitis自带的串口调试也不知道在哪打开,直接用友善串口调试助手了  详情 回复 发表于 2024-8-1 09:14
 
 

回复

859

帖子

3

TA的资源

版主

板凳
 
Jacktang 发表于 2024-8-1 08:56 跟着网络上旧版本的操作学习时都没能实现功能,看来新的Zynq PS变化挺多

主要还是刚开始学Zynq,而且用的软件版本也比较新。

vitis自带的串口调试也不知道在哪打开,直接用友善串口调试助手了

此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表