如何在 QEMU x86_x64 上启用 M25P80 闪存设备仿真

问题描述 投票:0回答:2

我正在尝试在 QEMU (Linux) 上启用 ST M25P80 模拟器,以便使用 MTD/mtd-utils 进行访问: ST M25P80 允许您基于 m25p80 命令集模拟所有 SPI 闪存设备

在 QEMU 启动期间,我没有看到任何这些设备被调用,因此我假设我必须以某种方式手动启用它们。我在 x86 上运行,因此没有设备树或 u-boot。我也无法访问硬件模拟器的 Kconfig,因为我运行的是旧版本的 QEMU。

主要停留在如何启用 m25p80 模拟器以及如何将其“连接”到 MTD 子系统。

最终目标是使用 mtd 子系统通过模拟 SPI 接口与 M25P80 仿真器进行通信,以执行基本任务(读、写、锁定等)。

我对 QEMU/Linux 还比较陌生,所以如果我没有正确描述这一点,我深表歉意。 非常感谢任何帮助。

我尝试使用 mtd 设备(不是特定的 M25p80)启动 QEMU 根据这些说明

linux yocto qemu flash-memory
2个回答
1
投票

QEMU 不支持让您为 x86-64 来宾创建此类设备。 M25P80 设备仿真是一个 SPI 设备,必须连接到具有 SSI 总线的控制器。 QEMU 中的所有模拟 SSI 控制器都硬连线到板模型中,其中大部分是 Arm 模型。没有“PCI 卡上的 SSI 控制器”或类似模型可以让您将控制器插入 x86-64 机器类型,然后将 M25P80 插入该控制器。

这是 QEMU 设计更一般方面的一个具体案例:它不是一组“乐高积木袋”的设备模型,您可以按照自己喜欢的方式自由连接在一起。它是一组特定机器类型的模型(例如 x86 PC、使用 aspeed SoC 的 Arm 板)。其中一些机器类型支持特定类型的可插拔设备,例如 PC 机器类型支持可插拔 PCI 设备的方式。但作为最终用户,您拥有的唯一灵活性是将可插拔设备类型插入支持该设备类型的机器类型。有一个与真实硬件的类比——如果您拥有一台 PC,您可以插入新的 PCI 显卡,但您通常不会尝试将新芯片焊接到主板上。


0
投票

来吧伙计,你在想什么?

© www.soinside.com 2019 - 2024. All rights reserved.