我有一个基于 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发送文件时,它说发生了超时并且"传输不完整"。我是否必须在开发板上运行某种守护程序或程序?
zmodem应该非常简单,我从来没有遇到过zmodem和嵌入式Linux板的问题。
以下是按^A + S并输入文件路径和名称后picocom的输出:
Picocom zmodem error.png
这是按^A + S并选择所需文件后的小通信输出:
+-----------[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发送和接收文件。