我正在寻找一种方法将文件从我的 Windows 8 电脑传输到熊猫板(上面有 OMAP Ubuntu)使用串行电缆。
该解决方案通常适用于任何 ARM 主板,因此我使用串行端口。但是我无法传输文件。
如果我没记错的话,SCP 和 PuTTY 不允许通过串行端口传输文件。或者我尝试的方式不对。我也尝试过在 Windows 8 上使用 HyperTerminal,但无论我选择哪种协议(XModem、Zmodem 等),使用文件传输时都会出现超时。我拥有正确的串行端口通信规范,因为我能够使用 PuTTY 访问设备并与其通信。
有什么建议吗?最好的解决方案是也适用于 Ubuntu/Linux 的解决方案。
答案1
如果你正在寻找基于 Linux 的解决方案,那么发送文件就像运行
cat [filename] > /dev/ttyS0
接收文件很简单
cat /dev/ttyS0 > [filename]
但如果你使用的是 Windows,那就没那么容易了。我会寻找并尝试找到一个 HyperTerminal 版本(它以前随 WinXP 一起提供,但他们不再在安装中分发它 *真可惜*)。
答案2
对于串行通信(如 XModem/ZModem),我会从基本通信开始。您能进入终端程序,在一端输入内容,然后看到另一端吗?如果不能,您可能遇到了无法通过软件解决的问题:OpenBSD 串行连接常见问题解答声明:“我们提供一个提示:仅仅因为两端插入并不意味着它会工作。”因此,首先验证硬件是否正常工作。如果是这样,那么还要验证基本的通信设置:与 115200 相比,2400 或 9600 的通信可能更容易与许多硬件配合使用。8N1 是一种非常常见的设置,7E1 则不那么常见,但这些设置必须匹配。
每当我使用 SCP 时,它都会使用 TCP/IP,这意味着必须为双方分配一个 IP 地址。这是一种与尝试使用 ZModem 等原始串行通信完全不同的通信设计。一旦 IP 正常工作,使用 IP 可能会更容易,尽管总体而言,让 IP 正常工作可能更具挑战性,因此 ZModem 可能是一个绝佳的选择。
我通常避免使用 XModem;有些 XModem 甚至无法传输正确的字节数(但会四舍五入到半千字节),并且不会传输文件名。但是,如果您确实使用 XModem(或 YModem,但特别是 XModem),则存在许多变体,因此您需要确保使用相同的变体。ZModem 通常与其他 ZModem 实现更兼容。