HPS 网桥可从预加载器 (SPL/MPL) 或 U-boot 中启用,在某些情况下也可以从 Linux 启用。
FPGA2SDRAM 桥FPGA端口配置包含在FPGA逻辑中,在启用桥接之前,必须将 SDRAM 子系统进入空闲状态,并应用FPGA端口配置。
注意:
- SDRAM 子系统必须处于闲置状态,以避免在主动转换时发生数据丢失(从片上 RAM 运行的 HPS,所有外设均已禁用)
- 如果已加载新的FPGA图像,则如果 FPGA2SDRAM 端口配置已更改,则必须重新应用FPGA端口配置。
SOC EDS 13.1 及更高版本生成的预加载器 (SPL) 和 U-boot 包含额外功能并内置功能,可安全地启用 HPS 网桥。
要从预加载器或 U-Boot 启用 HPS FPGA2SDRAM 桥,请按照以下步骤操作:
预加载器
- 预加载器将检查FPGA状态,如果配置FPGA,将自动启用在 QSYS/BSP 中配置的网桥。
- 在运行自动桥接启测试和代码之前,预加载器支持对 FPGA进行编程
- https://rocketboards.org/foswiki/view/Documentation/GSRD131ProgrammingFPGA
U-boot
- bridge_enable_handoff命令可以从 U-boot 命令提示符运行,以启用网桥。
- 此功能将 HPS 和 SDRAM 置于安全状态,然后再通过适当的检查启用所有桥梁
- "运行bridge_enable_handoff"
手动启用 HPS FPGA2SDRAM 桥的步骤
- 必须对FPGA结构进行编程
- 必须将 HPS SDRAM 进入闲置状态(从片上 RAM 运行的 HPS,所有外设均禁用)
- 必须通过在 sdr.ctrlgrp.staticcfg 寄存器中设置"applycfg"位来应用 FPGA2SDRAM FPGA端口配置
- 通过写入桥接控制寄存器可以启用桥接
注意:
- 如果使用相同的 FPGA2SDRAM 端口配置用FPGA映像重新编程FPGA,则无需重新应用FPGA端口配置。
- 第一次在 Linux 中启用 FPGA2SDRAM 桥不被支持,因为 SDRAM 子系统无法轻松进入有保证的闲置状态。
这些信息将包含在Cyclone V HPS 技术参考手册的未来发行版中。