【发布时间】:2012-10-16 18:15:26
【问题描述】:
我想在 linux-3.6.1 内核中的 /drivers/tty/serial/8250.c 中的 8250.c 中实现串行环回驱动程序代码。 我不想使用硬件环回(即通过短接标准串行端口的引脚 2(tx)和 3(rx)),而是我想修改 8250.c 驱动程序,以便来自用户空间的数据将传输从“serial8250_tx_char”函数直接到“serial8250_rx_char”而不去硬件,即我想接收发送的内容?
一种可能的实现是将传输循环缓冲区数据放入 tty 翻转缓冲区,然后将此数据推送到 tty 核心,以便用户空间可以接收它? 我想知道如何在代码中做到这一点。我们可以搜索上面提到的“rx 和 tx”函数——这就是我正在寻找的地方,我将如何测试它,意味着在设备文件上写入,然后立即接收。
我也有一个示例补丁,但不确定它是否会起作用。
任何帮助将不胜感激......
阿比吉特
【问题讨论】:
-
这太疯狂了。 Linux 上没有回显设备吗?试试 /dev/echo。
-
嘿汉斯......想法是改变驱动程序代码并在那里添加一个环回代码......然而,正如我所见,与超级终端/teraterm类型相反,没有用于回显的设备应用程序,可以检查字符的回显。
-
TIOCM_LOOP是你的解脱。
标签: serial-port linux-device-driver