0

我通过串行端口连接到我的嵌入式设备上,并希望在启动时启动我的自定义二进制文件并能够看到生成的输出。

我的 /etc/inittab 文件包含:

console::respawn:/sbin/getty -L 115200 ttyAPP3 vt100
console::respawn:/usr/bin/mybinary

使用此配置,我可以在串行控制台中看到 mybinary 的输出,但是由于生成的输出的干扰,很难/不可能连接(插入登录名和密码)到 getty。

我试图将 inittab 中的输出切换到另一个未使用的 tty (tty10),如下所示:

console::respawn:/sbin/getty -L 115200 ttyAPP3 vt100
tty10::respawn:/usr/bin/mybinary

现在我可以连接了,但是如何查看生成到 /dev/tty10 的输出?

我试过了cat /dev/tty10,但什么也没显示。

4

1 回答 1

2

我知道这个问题很老了,但它根本没有答案可以大声喊叫。

请记住,TTY 既是一个输出设备,也是一个输入设备——通过 cat'ing 从它你正在读取来自终端的输入,这意味着键盘,而不是屏幕。

我不知道其他 *nixes 中是否有并行,但是 Linux 系统对于每个 /dev 都有 /dev/vcsX 和 /dev/vcsaX 字符设备(分别为节点 c,7,0+X 和 c,7,128+X) /ttyX 设备 - 这些是当前输出数据的镜像TTY 设备(即 TTY 的屏幕部分,而不是键盘部分)。这些会给你你正在寻找的东西。vcsaX 设备将为屏幕上的每个字符提供一个 displaybyte+attributebyte 对(即前景/背景文本颜色 - 有关文本属性字节的更多信息,请参阅其他参考资料),而 vcsX 设备仅提供每个字符的 displaybyte . 当然,这是一个原始流/转储,因此如果您的终端的行数和/或列数与您要转储的 TTY 的行数和/或列数不匹配,那么您需要解析数据并重新格式化以匹配。

tl;博士:使用“cat /dev/vcs10”

希望有帮助。

于 2015-03-26T06:16:50.947 回答