假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有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文件发送数据

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

串口传输文件 lrzsz的更多相关文章

  1. ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...

  2. 使用sz/rz基于串口传输文件

    关键词:lrzsz.minicom.ZMODEM.MD5sum等. 在环境受限的嵌入式系统上,往往只有串口可以使用. 此时如果需要传输文件,需要借助rz/sz工具,可以使用的传输协议有ZMODEM.Y ...

  3. linux传输文件lrzsz

    linux传输文件

  4. 怎样在超级终端和PC之间通过串口传输文件

    Windows环境下,通过SecureCRT软件,用串口向ARM开发板发送文件: 输入命令 rz,可以看到如下图所示: 选择路径点击上传即可. 如果是想从Arm开发板中把文件Down下来,则可以按照下 ...

  5. blfs(systemd版本)学习笔记-安装lrzsz软件包实现ssh远程传输文件到lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 安装lrzsz软件包实现ssh远程传输文件到lfs系统 这个软件包在lfs系列的书中没有,这里是参照lrzsz官网的说明进行编译 ...

  6. 在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上

    可直接参考文档:http://danqingdani.blog.163.com/blog/static/18609419520141201215750 需要使用到的github脚本:https://g ...

  7. 如何通过XShell传输文件

    转载孟光孟叔的博客:  https://learndevops.cn/index.php/2016/06/14/how-to-transfer-file-using-xshell xshell目前最好 ...

  8. SecureCRT连接开发板 串口传输、tftp传输

    1.串口传输 使用命令:rx  r是service, x是X-model模式 ①.rx 文件名 再按Enter键 ②.将需要传到板子上的文件 拖到SecureCRT里面,选择发送X-model选项 注 ...

  9. 用rz、sz命令在Xshell传输文件

    用rz.sz命令在Xshell传输文件 2014-03-27 14:38:17 标签:用rz.sz命令在Xshell传输文件 Xshell很好用,然后有时候想在windows和linux之间上传或下载 ...

随机推荐

  1. 8个开发必备的PHP功能(转)

    又是好几天没写博客,今天看到了个不错的文章,就转载到自己的博客,好以后查询方便. 1.传递任意数量的函数参数 我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数 ...

  2. javascript 之闭包-理解不了来找我

    1,闭包是什么 (百度百科定义)--闭包是可以包含自由(未绑定到特定对象)变量的代码块:这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变 量).“闭包” 一词 ...

  3. (转)ASP.NET QueryString乱码解决问题

    正常的情况下,现在asp.net的网站很多都直接使用UTF8来进行页面编码的,这与Javascript.缺省网站的编码是相同的,但是也有相当一部分采用GB2312. 对于GB2312的网站如果直接用j ...

  4. Chart图形 [功能帮助类] Assistant创建显示图像的标签和文件 (转载)

    点击下载 Assistant.zip /// <summary> /// 类说明:Assistant /// 联系方式:361983679 /// 更新网站:[url=http://www ...

  5. NFC简介

    NFC简介 NFC是Near Field Communication缩写,即近距离无线通讯技术.由飞利浦和索尼公司共同开发的NFC是一种非接触式识别和互联技术,可以在移动设备.消费类电子产品.PC 和 ...

  6. GCDTimer

    #import <Foundation/Foundation.h> @interface JKTimerManager : NSObject + (instancetype)sharedT ...

  7. Sql Server内置函数实现MD5加密

    实例 MD5加密“123456”: HashBytes('MD5','123456') 结果:0xE10ADC3949BA59ABBE56E057F20F883E (提示:看完最后,结果要进行转换.) ...

  8. linux命令sed学习笔记

    sed其实就是两个主要的知识点,那就是“怎么选择”和“怎么操作”!

  9. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法

    登陆mysql的时候,出现了这个问题: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...

  10. Start an installation from GRUB

    Start an installation from GRUB Description This tip will show you how to start an installation for ...