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 目录,并在目标版上添加可执行权限:

$ 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


原文地址:https://www.cnblogs.com/god-of-death/p/8728465.html

时间: 2024-10-07 03:59:06

lrzsz 移植到 ARM-linux 嵌入式板子上的相关文章

ARM+Linux 嵌入式开发环境搭建

这些都是自个从一月份开始学习ARM+Linux中遇到的问题做的笔记,我觉得很有用,所以分享出来! 因为没有老师教,自己琢磨遇到的问题很多,欢迎交流! -------------------------------------------------------------------------------------------------- 零点漂移队:封尘浪 ------------------------------------------------------------------

sqlite3移植到arm linux

1,环境: 软件:linux:2.6.38 硬件:6410 交叉编译工具:arm-linux-gcc 也适用于其他linux平台. 2,步骤: 1>下载sqlite3源码包: http://www.sqlite.org/sqlite-amalgamation-3.6.1.tar.gz 2>复制到工作目录/tmp cp sqlite-amalgamation-3.6.1.tar.gz /tmp 3>解压生成源码目录 tar xvzf   sqlite-amalgamation-3.6.1.

ARM+LINUX嵌入式系统的终端显示中文乱码解决

前一段时间解决的一个问题,看起来是个小问题,实际解决这个问题却花了一个星期的晚上休息时间,记录分享一下. 问题描述: linux内核配置中NLS(native language support)已经选择了默认语言配置为utf8,并包含一些其他常用语言的编码,但是在secureCRT的telnet和串口终端显示中文文件名均为乱码. 解决过程: 1.刚开始以为是简单的编码不匹配的问题,修改secureCRT中的传输编码方式从默认变为utf8,中文不再乱码,但变成了问号,"??????":

智能开关:orange pi one(arm linux)控制继电器

大家都知道,继电器是用小电流去控制大电流运作的一种"自动开关",在我们生活.工作中随处可见.现在的"智能家居"概念,有很多功能模块其实就是"智能开关",远程开关.定时开关.条件触发开关等等. 下面介绍的"orange pi one(arm linux)控制继电器",就可以轻松实现"智能开关". orange pi 和 树莓派一样,是基于arm linux的开发板,大家把它当成一台普通linux电脑用就行了.

移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for windows ,本文就来介绍一下QT在嵌入式环境的搭建. 移植以到 JZ2440 为例,使用韦老大提供的 ubuntu9.10 虚拟机作为移植环境.当然,其它虚拟机也是可以的,我同样在 ubuntu14.04 移植成功,只不过需要额外装一些库,后面我会简单提及. 此外,我尝试使用 4.3.2 版本的

从PC端(Ubuntu)挂载nfs网络文件系统ARM9+Linux板子上

挂载概念 在windows操作系统中,挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符. 在linux操作系统中,它指将一个设备(通常是存储设备)挂接到一个已存在的目录上.(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用.) 需要理解的是,linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录.我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备. 命令格式: mount [-t vf

qt5.3.2移植到arm上出undefined reference to '__sync_sub_and_fetch_4的错

qt5.3.2移植到arm上出undefined reference to '__sync_sub_and_fetch_4的错.解决办法如下, 使用工具:GCC4.4.1 QT源码:qt5.3.2 前提是确保你的工具已经安装成功了. 解决:1.下载gcc源码:我用的4.4.1解压,在gcc-4.4.3/gcc/config/arm/目录下找到一个linux-atomic.c:2.制作链接库:使用libtool制作,输入命令 libtool --tag=CC --mode=compile arm-

如何将lua移植到arm平台的linux内核

将脚本移植到内核是一件很酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核,只可惜只支持x86,不支持arm,在网上搜索了下,没有找到现成的,于是自己研究了下,现将它分享出来. 移植到arm平台,主要是要重新实现setjmp和longjmp两个函数,网上相关的资料很少,最后终于找到一个klibc的项目,里面有setmp和longjmp的arm平台的实现,于是直接拿来用了,不用说,当看到脚本在内核中执行并打印出"hello,world&q

移植openssh到arm linux

一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 export CC=arm-linux-uclibcgnueabi 1.3.2指定安装路径进行配置 ./configure --prefix=$PWD/_install 1.3.3编译并安装 make && make install 2.编译openssl 2.1tar xvf openssl-1.