Linux开发板移植rz、sz指令实现串口传输文件
一、开发环境
实现开发板和电脑通过串口来收发互传文件。
开发板:NUC980开发板
环境:Ubuntu 22.04.3 LTS 64-bit
lrzsz的源码包:例如 lrzsz-0.12.20.tar.gz,下载地址https://ohse.de/uwe/software/lrzsz.html

二、移植步骤
在开发板上移植rz指令,可以按照以下步骤进行:
- 下载rz/sz源码:在官网下载lrzsz的源码包,例如 lrzsz-0.12.20.tar.gz,https://ohse.de/uwe/software/lrzsz.html
- 解压源码包:将下载的源码包放到宿主机下,并解压该压缩包。可以使用命令tar -xvf lrzsz-0.12.20.tar.gz进行解压。
- 进入解压后的目录:使用cd命令进入解压后的目录。
- 配置和编译:使用指定的交叉编译工具配置并编译源码。配置命令如下:
CC=arm-none-linux-gnueabi-gcc CFLAGS=-O2 ./configure

如果需要修改Makefile文件,可以修改Makefile文件,指定交叉编译器和编译选项。例如,修改成CC=arm-linux-gcc和OFLAG=-O -DREGISTERED -static。修改路径prefix = /usr/local改为prefix = /home/user/Desktop/lrzsz/lrzsz-0.12.20/output 或者使用指令配置–prefix,比如./configure --prefix= /home/user/Desktop/lrzsz/lrzsz-0.12.20/output,就可以把所有资源文件放在 /home/user/Desktop/lrzsz/lrzsz-0.12.20/output 路径中,注意:需要提前建立路径。当需要删除此软件,只需要简单的删除该安装目录,就可以把软件卸载干净。
- 编译命令为make -j4 或者make。

- 生成可执行文件:编译成功后,进入到src目录,查看生成的ELF文件。

file lrz lsz

将 lrz和lsz可执行文件重命名为rz和sz,则可使用 rz和sz 指令,如果没重命名,则需使用 lrz和lsz 指令。
- 复制可执行文件:将生成的可执行文件复制到开发板的根文件系统的/usr/bin目录下。可以使用nfs文件系统,使用cp命令进行复制。或者直接将编译好的文件下载到开发板中,并在Linux系统启动成功后执行rz命令,即可使用rz指令进行文件下载。
三、测试
测试软件SecureCRT,打开SecureCRT软件。

上传下载位置

开发板传输文件到电脑
./lsz file


电脑传输文件到开发板
./lrz




注意
请注意,在开发板上移植rz指令时,确保交叉编译路径配置正确,以避免出现程序无法运行的状况。此外,rz/sz是比较古老的文件传输工具,现在更多使用scp、sftp等工具。但在无法通过网络连接嵌入式设备时,rz/sz的串口传输文件功能仍然非常有用。因此,预先将rz/sz安装到嵌入式设备中是很有必要的。
相关文章:
Linux开发板移植rz、sz指令实现串口传输文件
一、开发环境 实现开发板和电脑通过串口来收发互传文件。 开发板:NUC980开发板 环境:Ubuntu 22.04.3 LTS 64-bit lrzsz的源码包:例如 lrzsz-0.12.20.tar.gz,下载地址https://ohse.de/uwe/software/lrzsz.html 二、移植步骤 在开发板上移植…...
Android抓包--不走代理的请求Proxy.NO_PROXY,过代理检测,burpsuite+Postern
网上很多不走代理检测的抓包都是charles + Postern 或 charles + Postern + burpsuite,本文使用burpsuite+Postern。 使用无代理 Proxy.NO_PROXY 访问网络接口原理 在Android开发中,大部分的App的网络请求都是基于charles 和 fiddler 来进行抓包的,对网络客户端使用无代理模…...
SQL教学: MySQL进阶操作详解--探索DML语句的高级用法
欢迎回到我们的SQL-DML语句教学系列。在之前的文章中,我们已经学习了如何使用DDL语句来定义和修改数据库的结构,以及如何使用DML语句进行基本的“增删改查”操作。今天,我们将进一步提升技能,探讨DML语句的高级用法,包…...
JavaScript命名标识符规范,JavaScript的for循环与双重for循环
一个合格的前端需要 戳这里领取完整开源项目:【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 哪些能力? 1、三大基础技能,js、css、html这三项技能是前端工程师能力中的基础,任何框架、工具、库都是基于…...
Qt/自定义控件的封装
新建文件,选择Qt设计师界面类 创建空界面 这是自己控件封装的文件,双击跳转到设计界面进行设计 跳转到其他的ui界面,创建一个widget 右键,选择提升为 在提升的类名称输入刚刚创建的类名,添加后选择提升,勾选…...
【硬件相关】RDMA网络类别及基础介绍
文章目录 一、前言1、RDMA网络协议2、TCP/IP网络协议 二、RDMA类别1、IB2、RoCE3、iWARP 三、RDMA对比1、优缺点说明a、性能b、扩展性c、维护难度 2、总结说明 一、前言 roce-vs-infiniband-vs-tcp-ip RoCE、IB和TCP等网络的基本知识及差异对比 分布式存储常见网络协议有TCP/IP…...
POS 之 ETH质押现状
ETH总质押数量趋势图 质押的ETH总数量,数量越多,网络越安全 ETH质押率 质押的ETH数量占总流通数的比率,对ETH价格有积极的影响 ETH总验证人数 质押的总人数,人数越多,说明社区共识越强,活跃度越高 ETH质押日新增质押 新增质押越多说明人们对ETH价格的很乐…...
Qt之插件
插件结构 #mermaid-svg-HMxjwDgwwRejLSQ5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-icon{fill:#552222;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-text{fill:#552222;stroke:#552222;}#…...
Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows
Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…...
Docker的安装跟基础使用一篇文章包会
目录 国内源安装新版本 1、清理环境 2、配置docker yum源 3、安装启动 4、启动Docker服务 5、修改docker数据存放位置 6、配置加速器 现在我们已经完成了docker的安装和初始配置。以下为基本测试使用 自带源安装的版本太低 docker官方源安装的话速度太慢了 所以本篇文…...
SQL技巧笔记(一):连续3人的连号问题—— LeetCode601.体育馆的人流量
SQL 技巧笔记 前言:我发现大数据招聘岗位上的应聘流程都是需要先进行笔试,其中占比很大的部分是SQL题目,经过一段时间的学习之后,今天开了一个力扣年会员,我觉得我很有必要去多练习笔试题目,这些题目是有技…...
LeetCode 1976.到达目的地的方案数:单源最短路的Dijkstra算法
【LetMeFly】1976.到达目的地的方案数:单源最短路的Dijkstra算法 力扣题目链接:https://leetcode.cn/problems/number-of-ways-to-arrive-at-destination/ 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ÿ…...
vulnhub-----Hackademic靶机
文章目录 1.C段扫描2.端口扫描3.服务扫描4.web分析5.sql注入6.目录扫描7.写马php反弹shell木马 8.反弹shell9.内核提权 1.C段扫描 kali:192.168.9.27 靶机:192.168.9.25 ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0,…...
十秒学会Ubuntu命令行:从入门到进阶
一、引言 在使用Ubuntu操作系统时,命令行界面(CLI)是不可或缺的一部分。对于初学者来说,掌握基本的命令行操作可以帮助他们更高效地管理系统和软件。 本文将介绍一些常见的Ubuntu命令以及如何解决与命令行相关的问题。 目录 一、…...
华为智慧教室3.0的晨光,点亮教育智能化变革
“教室外有更大的世界,但世界上没有比教室更伟大的地方。” 我们在求学阶段,都听说过这句话,但往往是在走出校园之后,才真正理解了这句话。为了让走出校园的孩子能够有能力,有勇气探索广阔的世界。我们应该准备最好的教…...
深度学习预测分析API:金融领域的Game Changer
🚀 引言 在这个AI遍地开花的时代,谁能成为金融领域的真正Game Changer?那必然是是深度学习预测分析API。如大脑般高效运转的系统不仅颠覆了传统操作,更是以无与伦比的速度和精度赋予了金融数据以全新的生命。 💼 广泛…...
外贸网站做Google SEO 用wordpress模板的优势
易于优化:WordPress模板是专门为搜索引擎优化(SEO)设计的。从一开始,WordPress模板就考虑到了搜索引擎的因素,因此在构建网站时已经考虑了如何优化网站的结构和内容。使用WordPress模板可以简化优化过程,让您的网站更容易被搜索引…...
后端面试题整理-1
1.Maven 依赖传递产生版本冲突怎么解决? 升级或降级依赖版本:通过修改相关依赖的版本号,选择与项目其他依赖兼容的版本。可以通过查看 Maven 依赖树来确定哪些依赖冲突,并找出合适的版本号进行调整。排除依赖:对于特定…...
Python图像处理之光斑分析
文章目录 质心目标截取光斑半径 python图像处理教程:初步📷插值变换📷形态学处理📷滤波 光斑是工程中经常出现的图像数据,其特点是目标明确,分布清晰。对光斑图像的分析,主要包括质心定位、目标…...
软件测试 - 测试用例基本理论
1. 概念 为了特定的目的(该目的是检验代码是否满足用户需求)而设计的文档,文档包含测试输入、执行条件、预期结果等。文档的形式一般是excel表格。 比如说我们买了一台电脑,新买的笔记本检查完外观之后第一步需要查看电脑是否能够正常开机,…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
