Linxux应用开发-串口下载命令rzsz交叉编译
1.1 简介
rz/sz工具是通过Zmodem协议传输文件的命令,常用于Linux与windows之前的数据传输。
这篇文章就介绍如何在交叉编译rz/sz命令,并在Linux开发板上完成测试。
1.1.1 什么是rz/sz (lsz/lrz)
rz/sz 通过Zmodem协议传输数据的命令,通过串口协议传输,速度较慢,只是适合小文件,如果大文件不适合用这个方法,大文件一般使用NFS或者FTP网络方式传输。
1.1.2 为什么要用rz/sz
普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了。大文件的话,还是要考虑上面说得,其他的共享方法了,毕竟,rz/sz速度只有10K左右。
1.1.3 如何使用
(1)在Windows下,用SecureCRT(或者Windows自带的超级终端)连接Com端口到开发板,或者ssh等协议连接到Linux服务器上。
(2)在Linux端,安装了rz/sz (lrz/lsz)工具后(嵌入式开发中,多数已经将编译好的rz/sz工具放到rootfs中了,普通的Linux系统,如果没有,可以下载源码,自己安装),就可以直接运行rz/sz,实现和Windows之间的文件传输了:
A、从windows中拷贝/下载文件到Linux(开发板):
运行rz后,会自动弹出WIndows下的文件选择对话框,选择对应文件后,添加,然后确定,就开始传输,将windows中的文件,拷贝到Linux中了。
B、将Linux中的文件拷贝到Windows中某个文件夹:
执行sz file_name 就可以将Linux当前文件夹下的文件file_name拷贝到Windows的对应目录中了,其中,Windows目录是由你当前运行的工具中设定的。
此处我用的是SecureCRT,具体的更改 rz上传/sz下载 的默认的路径的方法:
点击选项 -> 会话选项 -> Xmodem/Zmodem ->配置下载和上传目录:
1.2 移植
1.2.1 源码获取
rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具
windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)
下载软件 rzsz-3.48.tar.gz地址:
ttp://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
1.2.2 解压
将源码包拷贝到linux系统下解压。
[root@xiaolong usart_down]# ls
rzsz-3.48.tar.gz
[root@xiaolong usart_down]# tar xvf rzsz-3.48.tar.gz
1.2.3 修改Makefile
进入到解压后的src目录。
[root@xiaolong src]# gedit Makefile
修改:CC=arm-linux-gcc
1.2.4 编译安装
[root@xiaolong src]# make posix
注意:这个软件安装与常规的GNU软件不同,没有configure(配置)及make install (安装过程)。
1.2.5 拷贝生成的命令
编译成功后在顶层目录下就可以看到生成的可执行文件。
这些可执行文件对应不同的传输协议。如:ZMODEM / YMODEM / XMODEM协议
将绿色的文件全部拷贝到开发板根文件系统的bin目录下。
示例:
[root@xiaolong src]# cp rb rc rx rz sb sx sz zcommand zcommandi /work/rootfs/bin/
如果在终端执行命令提示缺少库文件,需要到交叉编译器的安装路径下去拷贝。
路径:
/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/lib/
1.2.6 测试命令
**sz命令:**将选定的文件发送(send)到本地机器。
**rz命令:**运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)。
(在哪个目录下执行rz指令,那么文件就放在哪个目录下)
1.2.6.1 rz命令测试示例:
1.2.6.2 sz命令测试
将文件传输到window下。(文件接收的目录可以通过CRT软件进行配置)。
- 点赞
- 收藏
- 关注作者
评论(0)