如何创建一个新的系统或电路板以供 QEMU 模拟

How to create a new system or board to be emulated by QEMU

我是 QEMU 的新手,但为了支持系统建模项目,我试图找出如何模拟不在受支持系统列表中的新 ARM 微控制器(基于 M33)SOC。我查看了 QEMU 文档:https://qemu-project.gitlab.io/qemu/about/index.html 但无法找到构建和添加新系统模型的说明。如果有人能指出正确的文档,或者建议我可以遵循的步骤来生成新的仿真模型,我将不胜感激。

没有关于如何为 QEMU 编写新机器模型的文档。最好的建议是查看与您要添加的机器类型相似的现有机器类型的源代码。避免查看很久以前添加到 QEMU 中的机器类型——它们通常以旧式编写或使用不再推荐用于新代码的旧 API。

根据一个非常粗略的经验法则,您应该假设一个新的机器模型与将一个操作系统移植到该新硬件上所付出的努力差不多。 (粗略地说,设备模型的代码量与设备驱动程序的代码量差不多。)根据您需要的功能量,您可以在 SoC 中保留一些或许多设备未实现——绝对最小值通常是 UART 之类的东西和一个计时器。您需要 SoC 的文档(技术参考手册或类似的,对设备的详细描述一直到寄存器级别)。

(出于好奇,什么是基于 M33 的 SoC?)

我强烈建议使用 Renode rather than Qemu as it's better suited for microcontrollers and it's well documented and actively maintained on GitHub