确保 XMODEM 忠实地传输文件
Ensuring XMODEM Transfers a File Faithfully
我正在使用 XMODEM 将二进制文件从 Ubuntu VM 传输到嵌入式 Linux 目标,如下所示:
$ sudo screen /dev/ttyUSB0 115200
$ rx test
CTRL-A:
$ exec !! sx -b test
现在,"test" 传输成功,但是当我在 VM 和目标上检查它时,我得到以下信息:
- 虚拟机:大小 = 22938 字节
- 目标:大小 = 23040 字节
此外,目标的权限也降低了。
为什么会这样,如何确保传输的文件与源文件相同?
XMODEM 以 128 字节块为单位传输,因此文件将始终填充到下一个 128 字节边界。 YMODEM 和 ZMODEM 在协议中包含文件大小,可以传输正确的字节数,但如果你仅限于 XMODEM,我建议使用 tar
来包装主机上的文件,这将编码文件大小和烫发,然后在目标上解压。 tar
可能会抱怨多余的填充字节,但它应该仍然有效。
我正在使用 XMODEM 将二进制文件从 Ubuntu VM 传输到嵌入式 Linux 目标,如下所示:
$ sudo screen /dev/ttyUSB0 115200
$ rx test
CTRL-A:
$ exec !! sx -b test
现在,"test" 传输成功,但是当我在 VM 和目标上检查它时,我得到以下信息:
- 虚拟机:大小 = 22938 字节
- 目标:大小 = 23040 字节
此外,目标的权限也降低了。
为什么会这样,如何确保传输的文件与源文件相同?
XMODEM 以 128 字节块为单位传输,因此文件将始终填充到下一个 128 字节边界。 YMODEM 和 ZMODEM 在协议中包含文件大小,可以传输正确的字节数,但如果你仅限于 XMODEM,我建议使用 tar
来包装主机上的文件,这将编码文件大小和烫发,然后在目标上解压。 tar
可能会抱怨多余的填充字节,但它应该仍然有效。