【发布时间】:2012-06-25 19:52:32
【问题描述】:
我有一个有趣的问题。我正在开发一个嵌入式机器,其中包含多个 Linux 实例,每个实例都在 ARM 处理器上运行。它们通过内部 1GBps 网络连接。我有一个连接到处理器 A 的串行端口设备节点(假设在其上运行 Linux-A)。我有一个在处理器 B 上运行的程序(比如说在 Linux-B 上)访问串行端口设备,就好像它在本地连接到 Linux-B 一样。
我的程序在设备节点上调用 term i/o type api 调用来控制 tty echo、字符模式输入。我想知道的是,是否有一种方法可以创建在 Linux-B 上可用的虚拟串行设备,以某种方式通过内部网络与 Linux-A 上的真实串行设备通信。
我的想法是这样的: Linux-B 有 /dev/ttyvirtual。写入它的任何内容都会通过网络套接字传输到 Linux-A 串行服务器。串行服务器执行真实设备上的 api 调用,比如说 /dev/ttys0。 任何在 ttys0 上等待的数据都会被传输回 /dev/ttyvirtual。
为了快速完成这项工作,需要做哪些事情?
谢谢
视频人
更新:
我发现了一个讨论
http://fixunix.com/bsd/261068-network-socket-serial-port-question.html 有很好的指点。
另一个有用的链接是http://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/
【问题讨论】:
标签: linux serial-port pipe virtual-serial-port