将二进制文件写入 Xilinx Fpga QSPI 的特定地址

将二进制文件写入 Xilinx Fpga QSPI 的特定地址

我对 FPGA 和 vhdl 世界还很陌生。我有一个包含一些信息的二进制文件,我想将其放入 Xilinx nexys 视频板的 Flash QSPI 中,然后从我的主程序中读取它以投射到 UART 中。

所以我想知道是否有某个应用程序可以获取我的文件和我想要存储文件的地址,然后完成这项工作。

Vivado 或 Vitis 可以做到这一点吗?

答案1

我从 Nexys 视频板页面找到了一些相关资源这里有关如何将数据加载到闪存的详细信息,请参阅“2.2. Quad-SPI 编程”部分。

Nexys 视频编程指南Nexys 视频资源中心提供的演示介绍了使用 Vivado 对 Quad-SPI 闪存进行编程的过程。

您的 Vivado 项目应使用本地文件初始化 BRAM。请参阅这里以供参考代码。

从外部数据文件初始化块 RAM (Verilog)

文件名:rams_init_file.v

// Initializing Block RAM from external data file
// Binary data
// File: rams_init_file.v 
module rams_init_file (clk, we, addr, din, dout);
input clk;
input we;
input [5:0] addr;
input [31:0] din;
output [31:0] dout;
reg [31:0] ram [0:63];
reg [31:0] dout;
initial begin
$readmemb("rams_init_file.data",ram);
end
always @(posedge clk)
begin
 if (we)
 ram[addr] <= din;
 dout <= ram[addr];
end endmodule

您还需要有一个与 TX/RX 引脚交互的 UART 控制器,如“USB UART 桥接器(串行端口)”部分所示:

Nexys Video 包含一个 FTDI FT232R USB-UART 桥接器(连接到连接器 J13),可让您使用 PC 应用程序通过标准 Windows COM 端口命令与主板通信。免费 USB-COM 端口驱动程序,可从 Windows 更新或www.ftdichip.com在“虚拟 Com 端口”或 VCP 标题下,将 USB 数据包转换为 UART/串行端口数据。串行端口数据使用双线串行端口 (TXD/RXD) 与 FPGA 交换,无需握手信号。安装驱动程序后,可以使用 PC 指向 COM 端口的 I/O 命令在 V18 和 AA19 FPGA 引脚上产生串行数据流量。

为了节省时间,Nexys 为您提供了位于这里。只需修改 UART 即可从 BRAM 读取并在需要时传输数据。

相关内容