串口传输文件 lrzsz

简介: 假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果你想跟这块板子传输交互文件,要怎么办? 根据modem所采用的文件传输协议:xmodem,ymodem,zmodem将其分类   xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢...

假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果你想跟这块板子传输交互文件,要怎么办?

根据modem所采用的文件传输协议:xmodem,ymodem,zmodem将其分类  

xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用  
ymodem:由XMODEM演变来,效率可靠性高,包=128*8B;一次传输可发送或接受几个文件  

zmodem:于上两种不同,已连续的数据流发送数据,效率更高

在ubuntu主机中可以直接使用rz或者sz命令与secureCRT交互文件

在开发板中busybox提供rx命令可直接Xmodem下载文件到开发板,但是没有找到上传命令

命令:

rz 下载Zmodem

xz 上传Zmodem

rx 下载Zmodem

 

如果想在开发板中上传文件的话可以移植完整版的lrzsz到开发板,完整使用其功能

一,移植lrzsz到开发板中

 

lrzsz工具在配合secureCRT相当实用,现把其移植到arm-linux下

交代下环境:

pc ubuntu12.4

cross-compile arm-linux-gcc

--1--获取源码

http://www.ohse.de/uwe/software/lrzsz.html

获取lrzsz-0.12.20.tar.gz

--2--解压源码

tar -xzf lrzsz-0.12.20.tar.gz

--3--生成cache文件

./configure --host=arm-linux --cache-file=./arm-linux.cache

这个时候目录中应该生成了./arm-linux.cache文件

--4--修改配置

vi arm-linux.cache

ac_cv_prog_CC=${ac_cv_prog_CC='gcc'}

改成

ac_cv_prog_CC=${ac_cv_prog_CC='arm-linux-gcc'}

--5--使用cache文件配置源码

./configure --host=arm-linux --cache-file=./arm-linux.cache

 

--6--编译源码

make

注:可能出现的问题:zglobal.h:188:22: error: libintl.h: No such file or directory

注:可能出现的问题:warning: incompatible implicit declaration of built-in function 'gettext'

解决方法:

vi config.h

修改/* Define to 1 if NLS is requested.  */
#define ENABLE_NLS 1

#define ENABLE_NLS 0

--6--得到工具

在src/文件夹下的lrz和lsz工具即是交叉编译成功的lrzsz工具了

--7--实用

将lrz和lsz复制到板子/bin下,即可使用,当然要配合secureCRT

 

一,利用lrzsz通过串口与secureCRT传输文件

--1--secureCRT设置,在串口的情况下需要打开XON/XOFF流控机制

会话选项->串行->流控->XON/XOFF 打钩,然后重启会话

会话选项->终端->X/Y/Zmodem->目录 选择要存放的目录(我选择的是桌面)

 

--2--上传文件

终端输入lrz命令后自动弹出选择文件对话框,选择之后开始传输

      $ ./lrz 

--2--下载文件

终端中输入lsz+文件名

 $ ./lsz <文件名>

--3--通过BusyBox中的rx简单下载文件

如果根本完全没有任何外部接口,连lrzsz都灌不进去。或者只想下载传输文件,不需要上传的情况,可以使用Busybox中的rx命令简单下载文件

终端中输入rx+要保存的名称,比如$rx redmin.txt

然后在终端中发送文件 菜单->传输->发送Xmodem->选择redmin.txt文件发送数据


版权声明:本文为博主原创文章,未经博主允许不得转载。

目录
相关文章
|
3月前
|
Linux
linux 服务器之间远程传输文件命令
linux 服务器之间远程传输文件命令
|
8月前
|
消息中间件 NoSQL Linux
Linux系列——不同服务器之间的远程传输文件命令
Linux系列——不同服务器之间的远程传输文件命令
|
12月前
|
Linux 网络安全 iOS开发
mac使用lrzsz传输文件(iterm2)
mac使用lrzsz传输文件(iterm2)
931 0
|
固态存储 网络安全
两台 mac 通过 scp 命令快速传输数据
两台 mac 通过 scp 命令快速传输数据
两台 mac 通过 scp 命令快速传输数据
|
存储 编解码 算法
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
1029 0
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
|
Java
UVCCamera向USB设备发送命令
UVCCamera向USB设备发送命令
176 0
|
安全 Linux Windows
如何传输文件到linux服务器?
我们知道,云主机文件传输是一件相对复杂的事情,经常需要搭建FTP服务器或者是借助其他工具来完成。下面为大家介绍一种简单易操作的传输文件到Linux服务器的方法。
3751 0
|
Linux 网络安全 网络架构
关于开发板用tftp下载失败分析
一、想实现开发板和PC ping通:(1)windows和linux桥接(2)用路由器将开发板和PC连接起来(3)将windows和linux以及开发板的IP设置成同一网段,注意不要和你同一个局域网的IP重复(4)关闭linux的防火墙以及SELinux(5)关闭windows的防火墙   二、关于开发板用tftp下载内核文件1.windows和VM的虚拟机之间用桥接,2.开发板和路由器之间用网线连接,PC和路由器之间用网线连接。
1668 0
|
Linux 虚拟化 Windows
通过minicom传送文件的相关配置及使用方法
写一下我使用串口向开发板传送文件中遇到的问题及解决办法: 使用的软硬件环境: 虚拟机:VMware® Workstation 8.0.1 Linux操作系统:Fedora 9 开发板:mini6410   下面使用通过串口终端minicom传送文件到开发板上: 1. USB 串口无法识别的问题: 我的笔记本没有RS232接口,只好用USB转串口,再通过开发板配套的一根交叉串口线连接到开发板上。
975 0