介绍Linux下经典的文件传输工具: lrzsz

本文介绍了一种在uClinux环境下通过串口进行文件传输的方法。利用lrzsz工具及Zmodem协议,实现了从宿主机到设备端的稳定文件交换。文章详细记录了配置过程与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司有个用ARM940T做的手持式产品,我们移植了一个uClinux上去,系统还是运行不错的。

因为没有带网口,只有USB转串口可以使用,所以想寻找一个稳定的传输途径,在host和device之间交换文件。问了很多人都不清楚,还是要靠自己找解决方法。

在google上找了半天,终于找到了一个可以通过串口传送文件的软件,这就是古董级的Unix工具:lrzsz。lrzsz可以通过Xmodem,Ymodem,Zmodem协议传送文件。

在uClinux的user目录下,我找到了这个lrzsz目录,说明uClinux应该是可以运行lrzsz的。编译uClinux的时候,选上lrzsz,编译,烧录进开发板,上电,运行,其中lrzsz编译出来两个文件,一个是lrz用于接收文件,一个是lsz用于发送文件。

在Windows上用超级终端打开串口,连上uClinux,输入以下命令:

    cd /bin
    lsz *

第一个命令是进入bin目录,第二个lsz命令是发送全部文件。

输入以后,超级终端立刻弹出一个界面,显示一个文件正在传送中,包括进度,文件名,使用的协议是zmodem,哈哈,很酷哦!

全部文件发送完毕后,都放在了一个默认目录下面。

从host端发送文件到device端,也是很容易的,但是要保证RamDisk有足够的空间。我一开始没有注意RamDisk只有128KB,却传送了1MB的文件,结果传送完毕后,系统就挂了,注意注意!

采用这个命令:

    cd /var
    lrz -Z

第一个命令是进入RamDisk,应该保证这个目录是可写的,并且保证大小应该超过传送的文件。

第二个命令是接收文件,使用Zmodem协议。

运行命令后,在超级终端下选择“发送文件”,选择“Zmodem协议”,选择一个文件,即可将文件通过串口发送到device的var目录下。

 在Windows下可以用超级终端,在Linux下应该用什么终端工具?

答案是:c-Kermit,我在ubuntu下装了minicom,但是跑不起来,其中u-boot的网页上也说minicom不一定能用。下载一个c-kermit,就可以与device通讯了。就不再多说啦!

2009.06.19: 

补充一下, kermit 可以设置为用某个协议发送和接收文件,如果要从PC发送文件到开发板,必须设定这个重要的protocol.

这是我的.kermrc文件:

set line /dev/ttyS0
set speed 38400
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1024
set send pack 1024
set window 5
set protocol zmodem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值