摘要: 本文讲的是ARM移植rz和sz命令, 嵌入式Linux移植rz和sz命令 rz、sz是Linux/Unix 同Windows 进行ZModem 文件传输的命令行工具,windows 端需要支持ZModem 的telnet/ssh 客户端,例如:SecureCRT
教程 云栖大会 Mysql 备案 文档 域名 whois查询 PHP教程 备份 互联网大学 云教程
嵌入式Linux移植rz和sz命令
rz、sz是Linux/Unix 同Windows 进行ZModem 文件传输的命令行工具,windows 端需要支持ZModem 的telnet/ssh 客户端,例如:SecureCRT。
运行命令rz,即是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录 (默认使用二进制方式传送),运行命令sz
…(可以同时传送 多个文件)就是发文件到windows上。
rz、sz 传输文件是通过串口进行传输,传输速率较慢,只适用于小文件的传输。
1、下载rzsz源码包
http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
我在网上尝试找了一下,没有找到下载文件。感兴趣的可以自己去尝试下载源码。这里百度rzsz 源码下面可以下载到 如果在Linux系统命令行下,可以使用wget 命令进行下载。
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz
2、解压rzsz 文件。
使用tar xvzf 命令进行解压。使用-C选项可以解压到指定目录下
[root@codeMonkey rzsz]# tar xvzf rzsz-3.48.tar.gz -C /root/ARM/
解压完成后可以在解压的目录中看到一个src 的文件。
3、修改Makefile 文件。
将第3行和第4行修改成如下所示:
CC=arm-linux-gcc OFLAG= -O -DREGISTERED -static
第3行的意思是指定交叉编译器,第4行的意思是去掉"UNREGISTERED COPY"提示,并且使用静态编译。
注意:这里一定要指定静态编译。
因为第一次我并没有加-static 选项,编译出来的命令下载到根文件系统的/usr/bin 目录中。执行rz 命令的时候,系统提示找不到该命令。移植的Linux系统一般是没有移植库文件的,所以动态编译出来的程序会提示找不到。这也间接的证明了Linux系统下的编译默认是使用的动态编译。
关于静态编译和动态编译的区别,请自行百度。这里不再解释
也可以参考这篇:http://blog.csdn.net/zhengqijun_/article/details/51849968
4、执行make posix 生成可执行程序。
[root@codeMonkey src]# make posix
arm-linux-gcc -O -DREGISTERED -static -DPOSIX -DMD=2 rz.c -o rz size rz text data bss dec hex filename 501436 2120 17232 520788 7f254 rz rm -f rb rx rc ln rz rb ln rz rx ln rz rc arm-linux-gcc -O -DREGISTERED -static -DPOSIX sz.c -o sz size sz text data bss dec hex filename 508884 2176 50096 561156 89004 sz rm -f sb sx zcommand zcommandi ln sz sb ln sz sx ln sz zcommand ln sz zcommandi
使用ls 命令进行查看
可以发现生成了很多可执行文件,如rz、sz、sx 等。
5、将生成的可执行文件复制到根文件系统的/usr/bin目录下
使用cp 命令进行赋值
[root@codeMonkey src]# cp gz rb rc rx rz sb sx sz zcommand zcommandi ../../rootfs/usr/bin
6、下载到开发板中运行。
Linux系统启动成功后,执行rz 命令进行文件的传输。
[root@MINI2440 /]# rz rz ready. Type "sz file ..." to your modem program Starting zmodem transfer. Press Ctrl+C to cancel. Transferring test.txt... Transferring test.txt... ?rz 3.48 01-27-98 finished.
这里我传输了一个test.txt 文件。如果执行rz 命令后能出现下面的图,应该就没有什么问题。
以上是ARM移植rz和sz命令的全部内容,在云栖社区的博客、问答、云栖号、人物、课程等栏目也有ARM移植rz和sz命令的相关内容,欢迎继续使用右上角搜索按钮进行搜索arm , 移植rzsz命令 rzsz源码下载 ,以便于您获取更多的相关知识。