qemu - 如何创建一个新的系统或电路板来被 QEMU 模拟
问题描述
我是 QEMU 的新手,但为了支持系统建模项目,我试图弄清楚如何模拟不在受支持系统列表中的新 ARM 微控制器(基于 M33)SOC。我检查了 QEMU 文档:https ://qemu-project.gitlab.io/qemu/about/index.html但无法找到构建和添加新系统模型的方向。如果有人能给我指出正确的文档,或者建议我可以遵循的步骤来生成新的仿真模型,我将不胜感激。
解决方案
没有关于如何为 QEMU 编写新机器模型的文档。最好的建议是查看现有机器类型的源代码,该类型与您要添加的机器类型相似。避免查看很久以前添加到 QEMU 的机器类型——它们通常是用旧样式编写的,或者使用不再推荐用于新代码的旧 API。
作为一个非常粗略的经验法则,您应该假设新机器模型与将操作系统移植到新硬件一样多。(大致而言,设备模型的代码与设备驱动程序的代码一样多。)根据您需要多少功能,您可能可以在 SoC 中保留一些或许多设备未实现——绝对最小值通常类似于 UART和一个计时器。您将需要 SoC 的文档(技术参考手册或类似的,详细描述设备到寄存器级别)。
(出于好奇,什么是基于 M33 的 SoC?)
推荐阅读
- sql - 如果满足给定条件,如何将一个单元格值替换为另一个单元格值?
- ios - 沙盒更改时如何恢复领域文件?
- php - 在 PHP 中声明以下划线开头的变量时,变量范围有什么不同吗?
- java - FileNotFoundException: open failed: ENOENT(No such file or directory) when change target from 21 to 26
- mongodb - Mongo 数组过滤器在 NodeJS 中无法按预期工作
- android - APK 或 App Bundle 可用于 64 位设备,但它们只有 32 位本机代码
- php - 使用 PHP Ajax 自动完成表单
- php - 如何编写 php 代码以使用 Websocket 从 ESP8266 接收数据
- angular - 材质网格通过滚动填充整个屏幕
- android - 包含大量 TextView 的片段打开速度很慢