首页 > 解决方案 > Qemu 连接到特定的访客 UART 设备

问题描述

我用 qemu-system-arm 模拟嵌入式设备的固件。通过将“console=ttyAMA0”附加到内核,控制台的输出工作正常。在客户机上有一个二进制文件,它在 /dev/ttyGS0 上打开另一个用于通信(双向)的串行端口,并在该端口上侦听。现在我需要从主机连接到这个端口,向二进制文件发送命令并接收输出。

我已经尝试过不同的东西,比如创建字符设备和伪 tty,但我不知道如何为来宾定义串行设备。

有没有办法做到这一点?提前致谢。

标签: serial-portarmqemuuart

解决方案


如果您将多个 -serial 选项传递给 QEMU,它们将被解释为定义您想要对 UART 0、1、2 等执行的操作。例如,“-serial stdio -serial tcp::4444,server”将发送 UART 0到您的终端并将 UART 1 连接到端口 4444 上的 TCP 服务器,然后您可以使用 netcat 或类似实用程序连接到该服务器。(您可以将串行输出连接到许多不同的后端,而不仅仅是 stdio 或 TCP:查看 QEMU 文档。)

(注意:这取决于您的板模型实际上创建了多个 UART 并将它们正确连接到命令行选项,当然。)


推荐阅读