QEMU 运行 Xilinx MicroBlaze 处理器
由于 Xilinx 官方文档对于新版本的 Vitis 可能已经过时,因此搭建 QEMU 运行 MicroBlaze 并不容易。本教程提供了一种可行的方法,并已在 Vivado 2024.2 上测试通过。具体代码可以参考Github Repo。
为什么使用 QEMU 运行 MicroBlaze?
QEMU(Quick Emulator)是一款开源的模拟器,支持多种 CPU 架构,包括 Xilinx MicroBlaze。在 MicroBlaze 应用开发过程中,使用 QEMU 进行仿真具有以下优势:
1. 无需硬件,开发更方便
MicroBlaze 处理器通常运行在 FPGA(如 Xilinx 7 系列或 UltraScale+)上,但实际硬件存在以下问题:
- 价格昂贵(需要 FPGA 评估板)
- 调试困难(需要 JTAG 连接)
- 资源消耗大(占用 FPGA 资源)
QEMU 提供了纯软件环境,使开发者无需 FPGA 硬件即可在 PC 上开发和测试 MicroBlaze 代码。
2. 调试更快,提高开发效率
在 FPGA 硬件上运行 MicroBlaze 代码通常需要:
- 每次修改代码后都要重新综合并实现设计
- 烧写 FPGA,这个过程较为耗时
而使用 QEMU:
- 代码可立即运行,无需烧写 FPGA
- 支持远程 GDB 调试
- 可保存快照,快速恢复仿真状态
这显著提高了开发效率!
3. 兼容 Xilinx SDK/Vitis 工具
QEMU 提供了 MicroBlaze 指令集仿真,支持:
- 运行 Xilinx SDK/Vitis 生成的 ELF 文件
- 测试嵌入式应用(如 FreeRTOS、Linux Kernel)
如何搭建 QEMU 运行 MicroBlaze 的环境
基本参考 [1] 进行搭建。
1. 下载并编译 QEMU
运行以下命令:
git clone git://github.com/Xilinx/qemu.git