我已阅读这篇文章How to emulate an i2c device on QEMU x86?有关为模拟 x86_64 的 QEMU 配置 I2C 设备的解决方案。
我正在尝试为 ARM 做同样的事情。目前,我有一个简单的 I2C 用户空间程序,该程序正在超时,因为尽管 QEMU 在/dev 中列出了 I2C 设备,但它没有模拟设备并返回 ACK 的实际方法。我很好奇是否有人可以提供有关如何实现该帖子中的解决方案的更多详细信息,因为我在该领域经验不足,而且答案的细节非常稀疏。
我想知道使用 QEMU 时如何模拟除 USB 之外的外围设备,例如使用 CAN 和 SPI 的外围设备。
最佳答案
设备的支持是逐个设备进行的。 Zynq 7000 的 QEMU 仿真可以仿真某些 EEPROM 和闪存设备,并通过 I2C 总线对其进行读写。此处列出了设备支持。 Xilinx QEMU 外围设备支持:http://www.wiki.xilinx.com/QEMU+-+Zynq-7000
我认为对其他机器类型的支持也是基于设备的,希望它与 Xilinx 的 QEMU 机器的外设支持一样有详细的记录。
提供的 wiki 还有其他页面提供了将外围设备添加到设备树的示例。当您在 QEMU 调用时指定设备树时,QEMU 将读取设备树并开始模拟它支持的设备。
关于embedded-linux - 在 QEMU Aarch64 上模拟 I2C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46957307/