【发布时间】:2015-02-08 21:17:37
【问题描述】:
我有一个基于 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的输出:
这是按 ^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... |
+-------------------------------------------------------------+
怎么了?
【问题讨论】:
-
“我必须在板上运行某种守护程序或程序吗?” -- 你肯定会。请参阅stackoverflow.com/questions/28042023/… 以通过 U-Boot 接收。在内核启动并运行时接收,然后交叉编译并安装lrzsz program。
-
谢谢。是的,我想在内核启动并运行时使用 minicom 传输文件。所以我交叉编译了 lrzsz packege,得到了两个名为 lrz 和 lsz 的二进制文件。现在将它们复制到板上后我应该做什么?
-
"现在我该怎么办..." -- 你是否找到/阅读了源包中的任何文档(例如 man页)?您猜到
lrz用于接收,lsz用于发送吗?你试过lrz --help吗? -
是的,我认为 lrz 是用来接收的!只是第一次我交叉编译了它,我无法在我的计算机上运行 lrz --help 并且董事会不在那个时候所以我无法看到它的帮助或人或其他任何东西!无论如何,现在我在板上运行 lrz 并设法使用 minicom 中的 zmodem 将文件发送到板上。但这有点慢,我没有看到任何为 lrz 设置 bps 的选项,我不知道它在什么 bps 上工作!有什么办法可以加快速度吗?我的 minicom 配置为使用 115200。
-
除了我必须先在板上运行 lrz 但在另一个板上我可以通过 minicom 和 zmodem 发送文件,而无需先在板上运行任何东西。我不知道这怎么可能。无论如何,我怎样才能自动化这个过程?我应该把 lrz 放在启动中还是什么?
标签: embedded-linux zmodem