最近在弄这个nuc972,传文件的时候要么用SD卡要么用网线,在想能不能用串口直接把文件下载进去,就搜到了这个lrzsz工具。这个文件只适合用来传输小文件,大文件速度跟不上。
摘录一段关于lrzsz的介绍 “ lrzsz是一个Unix通信包,提供XMODEM、YMODEM和ZMODEM文件传输协议。lrzsz以前是Omen科技的主打软件,现在已经免费,并且遵循GNU开源协议。
lrzsz适合这样一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果想跟这块板子传输交互文件,就需要用到串口传输了。 根据modem所采用的文件传输协议:xmodem、ymodem、zmodem将其分类。
xmodem:简单通用,传输信息单位是“包=128B”,传输速度慢,适合电话线路质量差的情况下用。ymodem:由XMODEM演变来,效率可靠性高“包=128*8B”,一次传输可发送或接受几个文件。zmodem:与上两种不同,以连续的数据流发送数据,效率更高。”
第一步:下载并解压,我在ubuntu下将文件编译好后,再将文件放入开发板内进行使用。
wget https://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz
第二步:进入文件目录下,配置交叉编译链,要注意下,这里的arm-linux-gcc要跟你的交叉编译链匹配上。还有 ./configure 必须放在后面,否则无法识别到交叉编译工具。
cd lrzsz-0.12.20/
CC=arm-linux-gcc CFLAGS=-O2 ./configure
输入后如下图所示:
第三步:进行编译安装。
make
完成之后,会在当前目录 src/ 下生成 lrz 和 lsz 两个文件。
第四步:复制到开发板使用
需要通过网络、U盘、SD卡等方式,将生成的 lrz 和 lsz 复制到目标板的 /usr/sbin 目录,并添加可执行权限方可使用。
cp lrz /usr/sbin
cp lsz /usr/sbin
cd /usr/sbin/
chmod +x lrz lsz
在终端中添加权限。
用X-SHELL做下演示:
输入lrz,会打开一个窗口让你选择一个需要传输的文件。这里选择test.c
这里进行ZMIDEM进行发送,传送完成。
可以看到目录下已经有test.c这个文件了。
如果想对ZMODEM模式进行修改,可以进入属性进行更改。