minicom/picocom 不使用 zmodem 将文件传输到嵌入式 linux 板

minicom/picocom does not transfer files using zmodem to embedded linux board

我有一个基于 TI DM368 处理器的嵌入式 linux 设备,内核版本为 2.6.32.17 和 BusyBox v1.13.2 (2011-03-24 18:58:44 CDT)文件系统。

我在使用 minicom/picocom 中的 zmodem 通过串行端口将文件从我的计算机 (ubuntu 14.04) 传输到开发板时遇到问题。

问题是,当我在 minicom 或 picocom 中使用 zmodem 发送文件时,它说发生超时并且 "Transfer Incomplete"。我必须 运行 板上有某种守护进程或程序吗?

zmodem 应该非常简单,我从来没有遇到过 zmodem 和嵌入式 linux 板的问题。

这是按 ^A +S 并输入文件路径和名称后 picocom 的输出:

picocom zmodem error.png

这是按 ^A +S 并选择所需文件后的 minicom 输出:

     +-----------[zmodem upload - Press CTRL-C to quit]------------+                                   
     |RROR                                                         |                                   
     |oot@dm368-evm:/home# Retry 0: Got ZNAK                       |                                   
     |-sh: Retry 0: Got ZNAK                                       |                                   
     | not foundroot@dm368-evm:/home#                              |                                   
     |Transfer incomplete                                          |                                   
     |                                                             |                                   
     | READY: press any key to continue...                         |                                   
     +-------------------------------------------------------------+                                   

怎么了?

好的,感谢木屑,我可以解决这个问题。问题很简单,我没有在正确的目录中安装 rz 和 sz 程序。显然 minicom 或更准确地说是 zmodem 需要这些程序,并在您每次要发送或接收文件时调用它们。所以必须像这样交叉编译 lrzsz 包:

export CC=arm-none-linux-gnueabi-gcc
./configure --target=arm-linux
make

然后将src目录下生成的两个二进制文件从lsz和lrz分别重命名为sz和rz复制到开发板的/usr/bin目录下即可。这样您就可以在 minicom 或任何其他终端中使用 zmodem 发送和接收文件。