Linxux应用开发-串口下载命令rzsz交叉编译

网友投稿 836 2022-05-29

1.1 简介

rz/sz工具是通过Zmodem协议传输文件的命令,常用于Linux与windows之前的数据传输。

这篇文章就介绍如何在交叉编译rz/sz命令,并在Linux开发板上完成测试。

1.1.1 什么是rz/sz (lsz/lrz)

rz/sz 通过Zmodem协议传输数据的命令,通过串口协议传输,速度较慢,只是适合小文件,如果大文件不适合用这个方法,大文件一般使用NFS或者FTP网络方式传输。

1.1.2 为什么要用rz/sz

普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了。大文件的话,还是要考虑上面说得,其他的共享方法了,毕竟,rz/sz速度只有10K左右。

1.1.3 如何使用

(1)在Windows下,用SecureCRT(或者Windows自带的超级终端)连接Com端口到开发板,或者ssh等协议连接到Linux服务器上。

(2)在Linux端,安装了rz/sz (lrz/lsz)工具后(嵌入式开发中,多数已经将编译好的rz/sz工具放到rootfs中了,普通的Linux系统,如果没有,可以下载源码,自己安装),就可以直接运行rz/sz,实现和Windows之间的文件传输了:

A、从windows中拷贝/下载文件到Linux(开发板):

运行rz后,会自动弹出WIndows下的文件选择对话框,选择对应文件后,添加,然后确定,就开始传输,将windows中的文件,拷贝到Linux中了。

B、将Linux中的文件拷贝到Windows中某个文件夹:

执行sz file_name 就可以将Linux当前文件夹下的文件file_name拷贝到Windows的对应目录中了,其中,Windows目录是由你当前运行的工具中设定的。

此处我用的是SecureCRT,具体的更改 rz上传/sz下载 的默认的路径的方法:

点击选项 -> 会话选项 -> Xmodem/Zmodem ->配置下载和上传目录:

1.2 移植

1.2.1 源码获取

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具

windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)

下载软件 rzsz-3.48.tar.gz地址:

ttp://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz

1.2.2 解压

将源码包拷贝到linux系统下解压。

[root@xiaolong usart_down]# ls rzsz-3.48.tar.gz [root@xiaolong usart_down]# tar xvf rzsz-3.48.tar.gz

1.2.3 修改Makefile

进入到解压后的src目录。

[root@xiaolong src]# gedit Makefile 修改:CC=arm-linux-gcc

1.2.4 编译安装

[root@xiaolong src]# make posix

注意:这个软件安装与常规的GNU软件不同,没有configure(配置)及make install (安装过程)。

1.2.5 拷贝生成的命令

编译成功后在顶层目录下就可以看到生成的可执行文件。

这些可执行文件对应不同的传输协议。如:ZMODEM / YMODEM / XMODEM协议

Linxux应用开发-串口下载命令rzsz交叉编译

将绿色的文件全部拷贝到开发板根文件系统的bin目录下。

示例:

[root@xiaolong src]# cp rb rc rx rz sb sx sz zcommand zcommandi /work/rootfs/bin/

如果在终端执行命令提示缺少库文件,需要到交叉编译器的安装路径下去拷贝。

路径:

/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/lib/

1.2.6 测试命令

**sz命令:**将选定的文件发送(send)到本地机器。

**rz命令:**运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)。

(在哪个目录下执行rz指令,那么文件就放在哪个目录下)

将文件传输到window下。(文件接收的目录可以通过CRT软件进行配置)。

Linux Windows

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:文件空间映射mmap()函数(是什么,为什么,怎么用)
下一篇:HarmonyOS之数据管理·分布式文件服务的应用
相关文章