如何将软件链接到 BlueSpec RISC-V 实现?

问题描述

希望你一切都好。

我从 RISC-V 开始,我想让 BlueSpec SSITH P1 RISC-V 在我的本地 FPGA(Arty A7 100T 或 ZCU102 Zynq UltRascale)中运行。因此,使用 Vivado,我将 SSITH P1 IP 核连接到以下 Xilinx IP 核:Block RAM(单端口 ROM 存储器)、UART16550、GPIO 和 Block RAM(单端口 RAM 存储器),地址为 0x7000_0000、0x6230_0000、0x60000000x0000C ,分别如SoC_Map中所定义。附上图片

我的问题是:如何将软件链接到硬件?

我想执行一个 Hello 程序并检查通过 UART 打印的字符串。显然,我不能为此使用 Vitis 平台,因为它无法识别 RISC-V 处理器。我使用 RISC-V 工具链和可用于 Potato RISC-V bootloader example链接生成了 Hello_world.coe(加载到 ROM IP 核中)和 Hello_world.elf。我也很欣赏有关如何在 FPGA 上运行 bluespec 内核的任何教程。

非常感谢您能提供的任何帮助。

SSITH P1 Core and Xilinx IP Cores

解决方法

我在开发 SSITH 时使用了该处理器。我们有一个不同的包装器,它不可用,但我认为开源存储库的设置方式类似。

我们使用 riscv gdb 和 openocd 通过 JTAG 连接到处理器的调试接口,并使用 gdb 在处理器上加载、运行和调试软件。

您可以在 Piccolo 存储库上打开一个问题,以获取有关任何所需的 openocd 配置脚本等的更多详细信息。