前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linxux应用开发-串口下载命令rzsz交叉编译

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

作者头像
DS小龙哥
发布2022-05-09 15:47:55
2.7K0
发布2022-05-09 15:47:55
举报
文章被收录于专栏:嵌入式项目开发

1.1 简介

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

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

image-20220124164431355
image-20220124164431355

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 ->配置下载和上传目录:

image-20220124163714669
image-20220124163714669

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系统下解压。

代码语言:javascript
复制
[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目录。

代码语言:javascript
复制
[root@xiaolong src]# gedit Makefile  

修改:CC=arm-linux-gcc
image-20220124162624659
image-20220124162624659

1.2.4 编译安装

代码语言:javascript
复制
[root@xiaolong src]# make posix

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

1.2.5 拷贝生成的命令

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

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

image-20220124162703174
image-20220124162703174

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

示例:

代码语言:javascript
复制
[root@xiaolong src]# cp rb rc rx rz sb  sx sz zcommand zcommandi /work/rootfs/bin/  

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

路径:

代码语言:javascript
复制
/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指令,那么文件就放在哪个目录下)

1.2.6.1 rz命令测试示例:
image-20220124162750543
image-20220124162750543
image-20220124162802272
image-20220124162802272
1.2.6.2 sz命令测试

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

image-20220124163514995
image-20220124163514995
image-20220124163530838
image-20220124163530838
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 简介
    • 1.1.1 什么是rz/sz (lsz/lrz)
      • 1.1.2 为什么要用rz/sz
        • 1.1.3 如何使用
        • 1.2 移植
          • 1.2.1 源码获取
            • 1.2.2 解压
              • 1.2.3 修改Makefile
                • 1.2.4 编译安装
                  • 1.2.5 拷贝生成的命令
                    • 1.2.6 测试命令
                      • 1.2.6.1 rz命令测试示例:
                      • 1.2.6.2 sz命令测试
                  相关产品与服务
                  命令行工具
                  腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档