2

我正在使用 XMODEM 将二进制文件从 Ubuntu VM 传输到嵌入式 Linux 目标,如下所示:

$ sudo screen /dev/ttyUSB0 115200
$ rx test

CTRL-A:

$ exec !! sx -b test

现在,“测试”传输成功,但是当我在 VM 和目标上检查它时,我得到以下信息:

  • 虚拟机:大小 = 22938 字节
  • 目标:大小 = 23040 字节

此外,目标上的权限也会减少。

为什么会这样,如何确保传输的文件与源文件相同?

4

1 回答 1

4

XMODEM 以 128 字节块传输,因此文件将始终填充到下一个 128 字节边界。YMODEM 和 ZMODEM 在协议中包含文件大小,可以传输正确的字节数,但如果你仅限于 XMODEM,我建议使用tarwrap up 主机上的文件,它将对文件大小和 perms 进行编码,然后解压它在目标上。tar可能会抱怨多余的填充字节,但它仍然可以工作。

于 2016-03-04T15:16:41.480 回答