作为嵌入式软件开发的重要工具,QEMU 可以通过纯软件的方式模拟真实的处理器和外设,使嵌入式程序能在 QEMU 模拟出来的“硬件”之中运行而无需真实硬件。对于真实硬件的调试,通常使用 JTAG 等通信机制去观测处理器和外设的运行状态。对于调试运行在 QEMU 中的程序,同样需要能让外界观测内部(QEMU Guest)的通信机制。本次议题我将介绍多种 QEMU 与外部通信的机制,分析各自的适用场景,并通过具体的 Python 脚本示例,演示如何使用 Python 观测 QEMU Guest 的状态。