问题描述
希望你一切都好。
我从 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 时使用了该处理器。我们有一个不同的包装器,它不可用,但我认为开源存储库的设置方式类似。
我们使用 riscv gdb 和 openocd 通过 JTAG 连接到处理器的调试接口,并使用 gdb 在处理器上加载、运行和调试软件。
您可以在 Piccolo 存储库上打开一个问题,以获取有关任何所需的 openocd 配置脚本等的更多详细信息。