tb一下 发表于 2021-10-19 11:20:07

【Zynq】7010与7020程序移植

ACZ702开发板根据所使用的zynq芯片不同分为7010和7020两个版本,7020相较于7010 除了逻辑资源更丰富外还多出了一个40pin的板对板连接接口,其余引脚二者一致。而这40pin的板对板连接接口仅7020 支持,因此在二者间移植工程时,不需要重新分配引脚。对于不同类型设计,移植时用户所需的操作方式略有不同。对于逻辑设计来说,用户只需要在修改芯片型号后,更新IP核,随后便可以生成bit文件下板验证移植是否成功。而对于裸机设计而言,生成bit后还需要更新硬件资源描述文件到SDK中,并基于硬件资源描述文件重新生成SDK设计的板级支持包。下面就通具体的实例,为大家展示两种类型设计的移植过程:
【纯逻辑设计的程序移植】
这里以7020的DDS_AD9767工程移植为7010为例,所需操作步骤如下:1.修改芯片型号,7010芯片型号为xc7z010clg400-1,7020的芯片型号为xc7z020clg400-1


在修改芯片型号的过程中,可能会出现如下弹窗,询问是否保存旧的运行结果,这里直接选择No。

2.依次点击Reports->Report IP Status->Upgrade Selected更新所有IP核

此时软件会出现下图弹窗,保持默认选项,直接点击OK即可。

3.由于7020和7010引脚一致,所以我们不需要重新管脚分配,直接生成bit即可。

4.bit生成完成后烧录到ACZ702_7010开发板中进行验证,若现象正常则说明移植成功,这里简单给出移植的板级验证结果

可以看到,程序移植成功,成功在ACZ702_7010开发板上实现DDS信号发生器设计。

【裸机设计程序移植】这里以7020的PS_UART_Interrupt工程移植为7010为例,所需操作步骤如下:1.打开SDK,修改板级硬件资源描述包SDK的硬件资源描述资源包基于我们从vivado中导出的硬件规范文件。每当软件检测到工程路径发生变动后,就会重新生成一个硬件资源描述包。用户最新的硬件资源信息会被存储在后缀数字最大的描述包中,而SDK工程的班级支持包又是基于后缀为0的描述包产生,因此我们需要手动更新后缀为0的硬件资源描述资源包的硬件规范文件路径。这里我们可以拷贝最新硬件资源描述包的硬件规范文件路径,然后将路径更新到后缀为0的硬件资源描述资源包中,如下:


此时软件会出现以下警告提醒,无需理会,直接点击Yes,然后拷贝硬件规范文件路径


接下来根据拷贝到的最新路径更新后缀为0的硬件资源描述包的硬件规范文件路径

更新完后删除掉除后缀为0的其他硬件资源描述包。如果出现更改后缀报错,无法更改的情况,可以将两个硬件资源描述包全部删除,关闭SDK,再从Vivado中重新Launch SDK,软件会重新为我们生成一个后缀为0的最新硬件资源描述文件2.依次执行【纯逻辑设计的程序移植】的步骤1~3,完成对设计硬件逻辑系统部分的更新3、vivado中重新生成bit流后导出硬件这一步需要说明一下,之所以采用Launch SDK->生成bit->导出硬件的流程,是因为我们在移植时发现,如果先生成bit,在将硬件资源描述文件导出后再打开SDK,可能会出现资源更新而信息却并未更新的情况。此时软件会提示硬件规范不匹配,由于7020与7010在硬件上是一样的,仅在逻辑资源上有所不同,此时强行下载也能达到目的,但如果此时想要消除警告提示,就需要重新生成bit流后再导出硬件信息。生成并导出后SDK中会提示硬件信息更改,这时点击OK,工程便会自动更新

此时工程有可能会报错,原因是板级支持包没有及时自动更新。可通过点击工程板级支持包,按F5或者右键选择Re-generate BSP Sources解决。

4.点击Run As板级验证板级验证环节需要注意全局复位以及是否需要包含比特流,验证确认无误后工程移植成功。









zxacerui 发表于 2022-7-11 20:52:10

:D针不戳,明白了
页: [1]
查看完整版本: 【Zynq】7010与7020程序移植