lrzsz 移植到 ARM-linux 嵌入式板子上

特别说明:SSH 或 串口 都可以使用 lrzsz 进行通信

 

lrzsz是一个Unix通信包,提供XMODEM、YMODEM和ZMODEM文件传输协议。lrzsz以前是Omen科技的主打软件,现在已经免费,并且遵循GNU开源协议。

lrzsz适合这样一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果想跟这块板子传输交互文件,就需要用到串口传输了。 根据modem所采用的文件传输协议:xmodem、ymodem、zmodem将其分类
  • xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用。
  • ymodem:由XMODEM演变来,效率可靠性高“包=128*8B”,一次传输可发送或接受几个文件。
  • zmodem:与上两种不同,以连续的数据流发送数据,效率更高。
在ubuntu主机中可以直接使用rz或者sz命令与secureCRT交互文件,如果想在开发板中,上传下载文件的话,需要移植完整版的lrzsz到开发板,使用其完整功能。
 

1 下载源码包

首先下载最新版的lrzsz,地址:https://ohse.de/uwe/software/lrzsz.html。下面以 0.12.20 版本为例,下载源码包为:lrzsz-0.12.20.tar.gz。
 

2 复制并解压源码包

将下载的源码包复制到Linux主机,然后进行解压:
$ mkdir ~/lrzsz
$ cp lrzsz-0.12.20.tar.gz ~/lrzsz
$ cd ~/lrzsz
$ tar zxvf lrzsz-0.12.20.tar.gz

 

3 配置

$ cd lrzsz-0.12.20/
$ export PATH=$PATH:/usr/local/arm-2010q1/bin           # 交叉编译工具路径加入系统环境变量!
$ CC=arm-none-linux-gnueabi-gcc CFLAGS=-O2 ./configure  # 配置

这里 ./configure 必须放在后面,否则无法识别到交叉编译工具。

 

4 编译安装

编译安装命令:
$ make -j4                                        # 并行编译,使用4个CPU同时编译,可提高编译速度

 make完成之后,会在当前目录 src/ 下生成 lrz 和 lsz 两个文件。

 

5 复制到目标板并执行

通过网络、U盘、SD卡等方式,将生成的 lrz 和 lsz  复制到目标板的 /usr/sbin 目录,并在目标版上添加可执行权限:

挂载U盘:mount -t vfat /dev/sda1 /mnt/udisk

$ cp lrz lsz /usr/sbin
$ cd /usr/sbin/
$ chmod +x lrz lsz

 

注:由于 secureCRT 使用的命令是 rz 和 sz,可以把 lrz 和 lsz 这两个文件重命名。

 

 6 配置串口

在使用之前,需要设置串口:

 

 

7 测试

在目标板上,执行 lrz 命令将文件从PC机传送到目标板上,执行 lsz 命令将文件从目标板传到PC机上:

$ lrz
$ lsz myfile

 

posted @   流水灯  阅读(2198)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2017-04-06 WIFI模块 - 上海汉枫
2016-04-06 AC/DC开关电源
点击右上角即可分享
微信分享提示