embedded-linux - 在 QEMU Aarch64 上模拟 I2C

标签 embedded-linux qemu xilinx i2c

我已阅读这篇文章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/

相关文章:

linux - 内核是否仅在发生异常时执行

linux - 使用 TCP 端口 2222 将文件传输到虚拟机 QEMU 不起作用

c - 断点在带有 QEMU 模拟 cortex-a8 的 gdb 中不起作用

verilog - 打印存储在reg类型的变量中的有符号整数值

java - buildroot 与 jamvm 2.0 for java 8

linux嵌入式编程方法——网络设置

linux - 如何根据硬件规范确定各种操作的基线?

linux - 将 KVM XML 导入 Qemu

c - XGpio_SetDataDirection,Xilinx,C 开发人员

linux - 内核驱动程序 - ZedBoard - Linux 在访问地址后挂起