串口传输文件 lrzsz
假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有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的更多相关文章
- ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...
- 使用sz/rz基于串口传输文件
关键词:lrzsz.minicom.ZMODEM.MD5sum等. 在环境受限的嵌入式系统上,往往只有串口可以使用. 此时如果需要传输文件,需要借助rz/sz工具,可以使用的传输协议有ZMODEM.Y ...
- linux传输文件lrzsz
linux传输文件
- 怎样在超级终端和PC之间通过串口传输文件
Windows环境下,通过SecureCRT软件,用串口向ARM开发板发送文件: 输入命令 rz,可以看到如下图所示: 选择路径点击上传即可. 如果是想从Arm开发板中把文件Down下来,则可以按照下 ...
- blfs(systemd版本)学习笔记-安装lrzsz软件包实现ssh远程传输文件到lfs系统
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 安装lrzsz软件包实现ssh远程传输文件到lfs系统 这个软件包在lfs系列的书中没有,这里是参照lrzsz官网的说明进行编译 ...
- 在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上
可直接参考文档:http://danqingdani.blog.163.com/blog/static/18609419520141201215750 需要使用到的github脚本:https://g ...
- 如何通过XShell传输文件
转载孟光孟叔的博客: https://learndevops.cn/index.php/2016/06/14/how-to-transfer-file-using-xshell xshell目前最好 ...
- SecureCRT连接开发板 串口传输、tftp传输
1.串口传输 使用命令:rx r是service, x是X-model模式 ①.rx 文件名 再按Enter键 ②.将需要传到板子上的文件 拖到SecureCRT里面,选择发送X-model选项 注 ...
- 用rz、sz命令在Xshell传输文件
用rz.sz命令在Xshell传输文件 2014-03-27 14:38:17 标签:用rz.sz命令在Xshell传输文件 Xshell很好用,然后有时候想在windows和linux之间上传或下载 ...
随机推荐
- 转--DataTable 修改列名 删除列 调整列顺序
DataTable myDt =dt; //删除列 myDt.Columns.Remove("minArea"); myDt.Columns.Remove("maxAre ...
- Java23种设计模式之单例模式
一.单例模式简介 单例模式是Java设计模式中常见的一种模式.主要分为懒汉式单例.饿汉式单例.登记式单例: 单例模式的特点: 1.单例类只能有一个实例: 2.单例类必须自己创建自己的唯一的实例: ...
- ios 将状态栏改为白色方法!
1在Info.plist中设置UIViewControllerBasedStatusBarAppearance 为NO2 在需要改变状态栏颜色的ViewController中在ViewDidLoad方 ...
- java静态代理,动态代理,cglib代理
代理模式在我们的应用中是很常见的,例如拦截器,spring的事务管理等.之所以能被代理,是因为java允许我们通过反射机制动态构造目标对象,并调用相应的方法. 就好像拿到了目标对象的引用,自然可以在目 ...
- C++语言体系设计哲学的一些随想(未完待续)
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...
- Win32中GDI+应用(二)--初始化与清理
GDI+提供了GdiplusStartup和 GdiplusShutdown 函数来进行初始化和完成清理工作.你必须在调用其他的GDI+函数之前,调用GdiplusStartup函数,在完成GDI+工 ...
- mysql建表出现Timestamp错误
mysql建表时如果有两个或以上的字段为Timestamp,那么可能会出现如下错误: Incorrect table definition; there can be only one TIMESTA ...
- 正则版----getByClass函数
function getByClass(oParent,sClass){ var arr = []; var aEle = oParent.getElementsByTagName('*'); //v ...
- 有效解决js中添加border后动画bug问题
做了个demo发现如果一个div不加border属性,用对象的offsetWidth属性来控制width没问题,但是如果一旦加了border属性,问题就来了. 其实offsetWidth属性获取的的是 ...
- ASP.NET MVC 中使用JavaScriptResult
在浏览器地址栏输入地址,在页面上想通过脚本弹出一个框,看到Controller下有个JavaScript方法,返回的类型是JavaScriptResult,于是想用这个方法弹出框, public Ac ...