0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-08-14 09:20 次阅读

1.1 简介

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

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

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

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

image-20220124162624659

1.2.4 编译安装

[root@xiaolong src]# make posix

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

1.2.5 拷贝生成的命令

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

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

image-20220124162703174

将绿色的文件全部拷贝到开发板根文件系统的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指令,那么文件就放在哪个目录下)

1.2.6.1 rz命令测试示例:

image-20220124162750543image-20220124162802272

1.2.6.2 sz命令测试

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

image-20220124163514995image-20220124163530838
审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11199

    浏览量

    208691
  • 串口
    +关注

    关注

    14

    文章

    1540

    浏览量

    76039
  • 编译
    +关注

    关注

    0

    文章

    648

    浏览量

    32766
收藏 人收藏

    评论

    相关推荐

    JZ2440下载应用程序到开发板的3种方法

    make posix⑥将生成的程序rz和 sz 拷贝到开发板的/bin目录下,加上执行权限使用方法:将编译好的程序下载开发板上打开串口,执
    发表于 05-24 17:53

    JZ2440下载应用程序到开发板的方法分享!

    板的/bin目录下,加上执行权限使用方法:将编译好的程序下载开发板上打开串口,执行命令 rz ,将会弹出一个对话框,选中你要
    发表于 09-29 08:49

    Linux开发环境下的Arm gcc交叉编译介绍

    。程序的编辑——》编译——》运行,整个过程都是在一台 X86 电脑上。当我们开始接触嵌入式开发后,事情变的不一样了,你在电脑上写程序,在电脑上编译出可执行文件,最后这个可执行文件需要下载
    发表于 06-02 18:00

    gcc_riscv32交叉编译工具链下载与安装

    安装gcc_riscv32(WLAN模组类编译工具链)下载以下交叉编译工具链:交叉编译工具链
    发表于 09-23 22:51

    交叉编译linux内核(raspberry_3.6.y)

    一步一步教你交叉编译linux内核,RPI的内核编译教程,小众的东西了
    发表于 11-03 17:58 0次下载

    arm-linux交叉编译环境解析

    交叉编译环境介绍 交叉编译是嵌入式开发过程中的一项重要技术,它的主要特征是某机器中执行的程序代码不是在本机
    发表于 10-31 11:26 7次下载

    Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)

    的移植要点搭建交叉开发环境bootloader的选择与移植kernel的设置、编译、移植和调试根文件系统的制作嵌入式Linux系统的移植基本步骤确定目标机、主机的连接方式安装
    发表于 11-01 16:57 14次下载
    【<b class='flag-5'>Linux</b>】嵌入式<b class='flag-5'>Linux</b>系统的移植(上篇:<b class='flag-5'>交叉</b><b class='flag-5'>编译</b>器、连接方式)

    使用串口登录嵌入式Linux设备命令行的方法

    使用串口登录嵌入式Linux设备命令行的方法如下:举例如下:平台:AT91SAM9G45OS: linux-2.6.66交叉
    发表于 11-01 16:57 10次下载
    使用<b class='flag-5'>串口</b>登录嵌入式<b class='flag-5'>Linux</b>设备<b class='flag-5'>命令</b>行的方法

    学习笔记(02):嵌入式Linux开发基础-shell命令使用

    嵌入式Linux开发环境的构建,Linux命令行的基本使用,VI、GCC、Makefile基本工具的使用,交叉
    发表于 11-01 18:00 14次下载
    学习笔记(02):嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>基础-shell<b class='flag-5'>命令</b>使用

    嵌入式Linux开发环境搭建-(4)安装交叉编译工具链

    在ubuntu16.04.2中,安装交叉编译工具链在ubuntu中进行嵌入式应用程序开发,安装交叉编译工具链是不可缺少的一个环节。PC操作系
    发表于 11-02 11:06 18次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>环境搭建-(4)安装<b class='flag-5'>交叉</b><b class='flag-5'>编译</b>工具链

    嵌入式Linux开发环境搭建-3-安装交叉编译工具链

    嵌入式Linux开发环境搭建-安装交叉编译工具链1、下载2、解压3、设置环境变量参考文档ubuntu下安装
    发表于 11-02 13:21 12次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>开发</b>环境搭建-3-安装<b class='flag-5'>交叉</b><b class='flag-5'>编译</b>工具链

    Linux下播放器开发-交叉编译Mplayer

    如何将MplayerJ交叉编译移植到嵌入式开发板上运行,在命令行上正常的播放视频,LCD屏采用的帧缓冲驱动框架渲染图像。
    的头像 发表于 08-14 09:12 2760次阅读

    Linux交叉编译选项与源码与目标文件分离

    交叉编译选项 编译Linux,通常只需要运行 make menuconfig 配置要编译的模块,然后运行 make 。
    的头像 发表于 09-27 11:48 770次阅读

    linux4.1.15交叉编译链描述及使用方法

    飞凌嵌入式OKMX6ULL-C开发Linux4.1.15交叉编译链描述及使用方法
    发表于 03-22 11:18 3次下载

    linux开发板如何编译curl

    Linux开发板上编译 curl 库通常涉及到几个步骤,包括准备开发环境、下载源代码、配置编译
    的头像 发表于 08-30 15:33 427次阅读