pynq-z2(三)PS端独立开发-vivado-sdk(正确版)

在上一篇写了一个错误版,主要的错误就是在addip后Run Block Automation并没有配置上,这很让人恼火,经过使用https://blog.csdn.net/bramblewalls/article/details/80045922这篇文章提到的PYNQ-Z1板卡文件,地址https://github.com/cathalmccabe/pynq-z1_board_files,进行测试发现应该是

  • Board files
    Board file包含了Pynq-Z2开发板上PS端所有的配置,用法在PS独立实验中提及。

可能是我下载pynq-z2的板子文件时损坏导致无法配置,通过查询资料找到http://www.tul.com.tw/ProductsPYNQ-Z2.html,这个链接中的

 PYNQ-Z2 Board File (for Pmod IP support please refere here)

 这个文件完整能够实现配置。下面就是开始实验啦,心情很高兴,谢谢刚刚打电话的老四,让我一下子来了灵感。

3.1.实验目标

独立运行PS端,通过USB线连接的UART0串口()输出“Hello, world! ”

3.2.实验流程

实验具体步骤参考 ALINX_ZYNQ开发平台基础教程V1.02第六章:体验ARM,裸机输出“Hello World”实验 ,需要注意的有以下几点:

3.2.1.使用Boardfile新建Vivado工程

在第2节中获取Pynq-Z2开发板的Board file文件,这个文件包含了Pynq-Z2开发板上PS端的所有配置,所以我们接下来添加使用这个文件来代替  ALINX_ZYNQ开发平台基础教程V1.02 中手动配置PS端的过程:

3.2.1.1.添加board file文件

之前下载的boardfile文件夹中包含pynq-z2文件夹,将其复制[vivado安装目录]/2018.1/data/boards/board_parts/zynq目录下,如图:

3.2.1.2.新建基于Pynq-Z2开发板的工程

所有步骤都和之前新建工程一样,只是在选择Default Part页面不一样,如下:

 

 注:添加后要将vivado重新开启,否则可能无法出现board下的pynq-z2选项

之后会出现开发板相关信息,再次检查是否正确,然后Finish

3.2.2.创建Block Design,添加IP,vivado自动导出端口 

 参考:ALINX_ZYNQ开发平台基础教程V1.02第六章

(1)点击“Create Block Design” ,创建一个Block设计

(3) 直接点“OK”不做修改(也可添加,但是名字不能太长否者会出错)

(4)单击“add ip” ,接下来收索“zynq”在搜索结果列表中双击"ZYNQ7 Processing System"

 

 (5)这个zynqIP核只是一个独立的IP核,并没有进行任何设置和点击,因为工程是基于pynq-z2开发板创建的,已经包含ps端配置信息,所以直接点击Run Block Automation

(6)然后单击ok,Vivado就会自动将这个zynqIP和的DDR和FIXED_IO接口与PS端的接口进行对应连接,连接后如图所示,然后保存:

(7)自动连接完成之后双击ZynqIP核即可看到所有配置已经自动完成了,我们使用的UART0也已配置完成,这里只是查看,不作任何修改

 

(8)然后选择Tools -> Validate Design或者按下F6验证设计

这是因为之前自动导出端口时只配置了DDR和FIXED_IO,设计里没有使用AXI 接口GP0相关IP核,所以没有自动配置时钟,手动连线:

手动连接

 

(9)选择点击“Block 设计,右键“Create HDL Wrapper...,创建一个 Verilog或VHDL文件,保持默认选项单击”ok“

展开设计可以看到PS被当成IP使用

(9)选择block设计,右键GenerateGenerate Output Products”

(10)在菜单栏“File-> Export -> Export Hardware”导出硬件信息,这里就包含了PS 了的配置信息

在弹出的对话框中点击“OK" ,因为实验仅仅是使用了PS的串口,不需要PL 参与,这里就没有使能Include bitstream

 

3.4SDK调试

(1)点击File -> Launch SDK启动SDK


(2)启动后我们会看到一个文件夹,有一个名“system.hdl”文件,这个文件包含了vivado硬件信息,可以给软件开发使用,也可以看到ps端外设寄存器列表。

(3)写一个hello world

选择模板

(4)显示结果

(5)打开xshell,在项目上右键选择run as 

注释:如果xhell没有显示hello world 则继续如下配置

(6)为了保证系统的可靠调试,需要添加一个配置,右键“run as ->run configuration",然后进行如下配置


 

(7)xshell就可以看到helloworld

 

 这部分显示只能显示到这里了,但是文件可以下到板子里,有一个现象就是原来亮的led现在全灭了,不知道是不是正确现象。

但是除了这步上面的创建文档没有报错。

3.5.实验总结:pynq中PS端的使用包含两部分:

硬件设计
软件设计
在设计硬件的时候都是基于IP核进行设计的,ARM处理器内核和Zynq7 Processing IP核相对应,在设计完成之后通过Vivado进行端口之间的自动连接,设计完成后到处SDK所需要的硬件文件,转入软件设计;
软件设计时和普通ARM内核处理器的开发相同,采用C语言开发,并无多大差异,详细细节可以参考Xilinx文档和例程。

参考:https://blog.csdn.net/Mculover666/article/details/83033918?utm_source=blogxgwz0(主要参考)

         http://www.tul.com.tw/ProductsPYNQ-Z2.html

         https://blog.csdn.net/bramblewalls/article/details/80045922

        https://blog.csdn.net/u014485485/article/details/78107003(谢谢mihu525

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要使用PYNQ-Z2开发板上的Vivado流水灯示例,你需要按照以下步骤进行操作: 1. 首先,请确保你已按照引用中的说明,正确设置PYNQ-Z2开发板的引导跳线和供电方式,并将装有PYNQ-Z2镜像的Micro SD卡插入插槽中。 2. 连接PYNQ开发板的PROG UART(J14)接口到电脑,以供电和串口通信。 3. 使用网线将PYNQ开发板连接到路由器或电脑,以便后续操作。 4. 将开关拨到ON,启动PYNQ开发板。等待大约一分钟,直到两个蓝色LED和四个黄绿色LED同时闪烁,然后蓝色LED关闭,黄绿色LED亮起,表示系统已启动完毕。 5. 确保你的电脑上已安装了Vivado软件,并打开它。 6. 在Vivado中,创建一个新的项目,并添加需要的IP。 7. 将IP连接到ZYNQ核心,然后进行编译。 8. 编译成功后,生成一个bit文件和一个tcl文件。 9. 将这两个文件复制到PYNQ的目录下。 10. 现在,你可以在PYNQ的Jupyter Notebook环境中打开base文件夹中的board_btn_leds.ipynb文件。 11. 在Notebook中,点击工具栏的运行图标或选择Cell->Run来运行代码。 12. 在这个示例中,按下PYNQ开发板上的按键0可以改变彩色LED的颜色,按键1可以开启从右到左的流水灯,按键2可以开启从左到右的流水灯,按键3结束运行。 通过按下相应的按键,你可以控制流水灯的运行和LED的颜色。请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [PYNQ-Z2 镜像烧录&设备启动&网络设置](https://blog.csdn.net/weixin_41258131/article/details/129872294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值