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指令,可以按照以下步骤进行:

  1. 下载rz/sz源码:在官网下载lrzsz的源码包,例如 lrzsz-0.12.20.tar.gz,https://ohse.de/uwe/software/lrzsz.html
  2. 解压源码包:将下载的源码包放到宿主机下,并解压该压缩包。可以使用命令tar -xvf lrzsz-0.12.20.tar.gz进行解压。
  3. 进入解压后的目录:使用cd命令进入解压后的目录。
  4. 配置和编译:使用指定的交叉编译工具配置并编译源码。配置命令如下:
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 路径中,注意:需要提前建立路径。当需要删除此软件,只需要简单的删除该安装目录,就可以把软件卸载干净。

  1. 编译命令为make -j4 或者make。
    在这里插入图片描述
  2. 生成可执行文件:编译成功后,进入到src目录,查看生成的ELF文件。
    在这里插入图片描述
file lrz lsz

在这里插入图片描述
lrz和lsz可执行文件重命名为rz和sz,则可使用 rz和sz 指令,如果没重命名,则需使用 lrz和lsz 指令

  1. 复制可执行文件:将生成的可执行文件复制到开发板的根文件系统的/usr/bin目录下。可以使用nfs文件系统,使用cp命令进行复制或者直接将编译好的文件下载到开发板中,并在Linux系统启动成功后执行rz命令,即可使用rz指令进行文件下载。

三、测试

测试软件SecureCRT,打开SecureCRT软件。
在这里插入图片描述
上传下载位置
在这里插入图片描述
开发板传输文件到电脑

./lsz file

在这里插入图片描述
在这里插入图片描述



电脑传输文件到开发板

./lrz 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意

请注意,在开发板上移植rz指令时,确保交叉编译路径配置正确,以避免出现程序无法运行的状况。此外,rz/sz是比较古老的文件传输工具,现在更多使用scp、sftp等工具。但在无法通过网络连接嵌入式设备时,rz/sz的串口传输文件功能仍然非常有用。因此,预先将rz/sz安装到嵌入式设备中是很有必要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『python爬虫』ip代理池使用 协采云 账密模式(保姆级图文)

目录 实现效果实现思路代码示例总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 实现效果 在官网原版demo基础上小改了一下,修正了接口错误(把2023改成2024就可以了),原版demo只能测试单个ip,我这里批量测试所有…

【Linux实践室】Linux常用命令:文件操作|文件夹操作

🌈个人主页:聆风吟 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux文件操作2.1.1 👻创建文件2…

Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向

Neo4j安装教程🚀 目前在学习知识图谱的相关内容,在图数据库中最有名的就是Neo4j,为了降低入门难度,不被网上很多华丽呼哨的Cypher命令吓退,故分享出该文档,为自己手动总结,包括安装环境,增删改查…

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险

Scala 之舞:林浩然与杨凌芸的 IDEA 冒险 The Dance of Scala: The IDEA Adventure of Lin Haoran and Yang Lingyun 在那个阳光明媚的日子里,林浩然如同一位英勇的探险家,踏入了 Scala 的 IntelliJ IDEA 开发环境的奇妙领域,他带着…

CSS的三种定位,web前端开发入门学习

正文 js逻辑判断 1)请写出下面的答案? 内存泄漏 1)哪些操作会造成内存泄漏? 2)js内存泄漏的解决方式 dom 1)dom是哪种基本的数据结构? 2)dom操作的常用api有哪些? 3)dom节点的attribute和property有何区别? 4)dom结构操作/ …

阿里云2核4G服务器支持多少人同时在线?

2核4G服务器支持多少人在线?阿里云服务器网账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素: 2核4G:2核CPU和4G内存对…

网络信息安全:11个常见漏洞类型汇总

一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。 在设计程序,忽略了对输入字符串中夹带的SQL指令的检查&…

183基于matlab的非线性调频模态分解(VNCMD)

基于matlab的非线性调频模态分解(VNCMD),一种基于变分方法的信号分解技术,它将信号分解为多个模式。能够处理非线性调频信号,且对噪声具有较好的鲁棒性。VNCMD的基本原理是通过最小化信号与模式之间的差异来实现信号的分解。程序已调通&#…

在Vue中搭建Three.js环境(超详细、保姆级),创建场景、相机、渲染器《一》

目录 Three.js简介创建vue项目引入Three.js实际操作环节文件目录创建初始化场景、相机 Three.js简介 Three.js 是一款基于 WebGL的 JavaScript 3D 库,它封装了 WebGL API,为开发者提供了简单易用的 API 来在 Web 浏览器中展示 3D 图形。Three.js 提供了…

嵌入式硬件设计实例:基于STM32的流水灯原理图和PCB设计

最近本来在忙别的事,大约忙到五一以后吧,没有时间研究一些深入的知识。本来想停更的,但是刚刚申请到博客专家,想想还是得更新点文章。这里就把一些以前我做过的一些简单的硬件设计拿来出来复习一下。 本篇文章就来介绍一下&#…

代码随想录算法训练营第九天

28. 实现 strStr() &#xff08;本题可以跳过&#xff09; 方法&#xff1a; 方法一&#xff1a; 暴力法 i 表示最多能移动到n-m位置&#xff0c; 超过则退出循环。j表示haystack 初始位置k表示needle的初始位置如果haystack [j] needle[k]且 k<m 则 j, k; 如果 km 则返…

二次元404网站模板源码带人物语音

二次元404网站模板源码带人物语音&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 下载地址 https://www.qqmu.com/2410…