RZ&SZ移植和使用参考
1. 移植¶
lrzsz是一种用于文件传输的命令行工具,该工具集支持ZModem协议,能够可靠且高效地传输文件。使用lrzsz工具集能够不经过网络、USB等硬件,仅通过UART串口传输文件,简单易用,其包含两个主要的工具rz和sz。rz用于接收文件,sz用于发送文件,由于本身是基于串口进行传输,因此速度有一定的限制,一般用于传输小文件。如果嵌入式板端需要同主机(一般是windows系统)进行文件交互,要求主机端需要有支持ZModem的客户端,例如windows下的XShell、SecureCRT等。
1.1. 源码下载¶
本次移植使用代码版本为lrzsz-0.12.20。
1.2. 交叉编译¶
tar -zxvf lrzsz-0.12.20.tar.gz cd lrzsz-0.12.20/ export PATH=/tools/toolchain/gcc-10.2.1-20210303-sigmastar-glibc-x86_64_aarch64-linux-gnu/bin:$PATH ; export ARCH=arm64 ; export CROSS_COMPILE=aarch64-linux-gnu- ./configure --prefix=$PWD/install CC=aarch64-linux-gnu make -j8 make install
注意上述示例步骤中的export命令指定的编译链地址,实际操作时请根据真实的编译链路径进行声明。执行上述步骤后将在lrzsz-0.12.20/install/bin
路径下找到生成的lrz、lsz程序。
原有生成的程序大小较大,可以通过如下命令进行裁剪:
cd install/bin/
aarch64-linux-gnu-strip lsz --strip-unneeded -o sz
aarch64-linux-gnu-strip lrz --strip-unneeded -o rz
2. 环境搭建¶
2.1. 拷贝文件¶
将rz和sz文件拷贝至project/release/chip/pcupid/dispcam/common/glibc/10.2.1/release/bin/debug
目录下,并通过chmod +x命令添加可执行权限。
2.2. 镜像打包¶
在project
下执行make image_install
将会打包rz和sz到project/image/output/customer
。
3. 测试验证¶
这里以XShell为例,启动一个串口会话,在板端输入rz和sz进行验证。
3.1. rz验证¶
板端执行rz命令,主机端串口会话将弹出文件选择对话框,选择好主机端的某个文件后,点击确定进行传输。
3.2. sz验证¶
板端执行sz命令接上板端某一文件,主机端串口会话将弹出路径选择对话框,指定好要传输的目标路径后,点击确定开启传输。