跳转到主要内容
--## 电子创新网图库均出自电子创新网,版权归属电子创新网,欢迎其他网站、自媒体使用,使用时请注明“图片来自电子创新网图库”,不过本图库图片仅限于网络文章使用,不得用于其他用途,否则我们保留追诉侵权的权利。 ##--

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
judy 提交于

作者:Jackie Gao,AMD工程师;来源:AMD Xilinx开发者社区

简介

ZYNQ-7000的S_AXI端口提供了外设访问PS内部外设控制器的接口,这其中包括4个S_AXI_HP端口以及两个S_AXI_GP端口。一般来说,可以访问的内部资源包括DDR控制器,QSPI控制器,OCM,IIC,SPI等。

本教程提供一个最小的参考设计,使上柆机可以通过PCIE端口,通过S_AXI_GP0端口访问ZYNQ内部的QSPI控制器,用来更新Flash的启动分区。

软件方面,移植了embeddedsw的相关驱动代码至xdma平台,并提供了一个简单的上位机测试程序,用来烧写启动镜像至Flash分区。

教程中所有涉及的设计及代码均在Windows和Linux(Ubuntu20.04)平台下作了验证。

系统设计

1. 系统设计框图参考如下。在设计实例化了一个XDMA IP,通过其M_AXI端口连接至ZYNQ的S_AXI_GP0,以访问PS QSPI控制器。

2. BD中需要分配XDMA的M_AXI地址如下,可以用Vivado的自动地址分配工具完成。

3. 如果有访问其它外设的需求,详细的地址可以参考UG585的Table 4‐1: System-Level Address Map

环境需求

硬件环境

  • ZC706开发板
  • Windows10/11或者Ubuntu20.04主机
  • 软件环境

  • Vivado Design Suite 2022.2
  • Petalinux 2022.2
  • CMake > 2.15
  • Windows + Visual Studio或者Linux + GCC
  • 代码结构

    硬件

  • hw文件夹里面里面包含vivado工程,直接用vivado 2022.2打开
  • 固件

  • 此参考设计用petalinux制作系统启动镜像,完整的petalinux工程位于fw目录下。
  • 执行petalinux-build可以编译
  • 执行petalinux-package –boot –u-boot –force –fpga XXX.bit 生成BOOT.BIN文件
  • 软件

  • qspi 的驱动软件移植自embeddedsw,主要的改动包括修改xil_io.c文件,用xdma的驱动替换默认的Xil_In32和Xil_Out32的实现。
  • 软件支持windows和Linux的主机,采用cmake环境。如果在windows下,可以选择Visual Studio作为编译工具。编译过程如下:
  • 1.cd sw
    2.mkdir build
    3.cmake .. && make

    测试结果

  • 在petalinux下生成的BOOT.BIN文件放在生成的上位机软件目录下,执行后可以看到更新flash的进度条在变化,说明FLASH被正常少烧写。
  • 完成后切换到QSPI FLASH启动模式,上电观察启动过程。
  •  

    产品与工具

    ZYNQ

    Zynq是Xilinx公司推出的一系列SoC(System-on-Chip)产品家族,它将传统的FPGA(可编程逻辑器件)与嵌入式处理器相结合,形成了一种集成了硬件和软件处理能力的单一芯片解决方案。Zynq的设计目标是提供更高的性能和灵活性,同时减少系统的功耗和复杂性。

    Zynq广泛应用于嵌入式系统设计、通信、图像处理、工业控制、汽车电子等领域,因为它提供了更好的性能和灵活性,同时减小了系统的体积和功耗。

    精彩推荐

    2026英伟达GTC大会专题

    CES 2026(国际消费类电子产品展览会)专题

    第四届南渡江智慧医疗与康复产业高峰论坛

    第十五届松山湖中国IC创新高峰论坛

    第四届滴水湖中国RISC-V产业论坛

    Recent comments

    • 1873774516_516738
    • 2460440665_516737
    • 1457585548_516736
    • 780289498_516735
    • 2283262460_516734