背景
每次我从电脑上copy文件到开发板上都是把udisk拔下来,插到上位机上去copy,插插拔拔很麻烦,后来想到了可以通过串口传输文件到开发板,根据开发板的实际情况总结了步骤:
总体思路:通过在开发板上安装lrzsz实现
lrzsz包括sz和rz:
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
(rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具)
使用到的工具:
Lrzrz:Linux/Unix同Windows进行ZModem文件传输的工具
Xshell:以serial串口格式连接到开发板上,在linux环境下配置
1.https://ohse.de/uwe/software/lrzsz.html //下载lrzsz源码
之后用u盘拷到开发板上,放在一个熟悉的目录下以待解压.
cp /mnt/usb/2C80-69FE/lrzsz-0.12.20.tar.gz lrzsz-0.12.20.tar.gz
2.tar zxvf lrzsz-0.12.20.tar.gz解压安装包
遇到问题,无法解压,
解决办法:选择在电脑上将 lrzsz-0.12.20.tar.gz解压.
遇到问题:解压过后无法通过u盘复制到开发板上
解决办法:在服务器上解压编译:
CFLAGS=-O2 CC=arm-none-linux-gnueabi-gcc ./configure --cache-file=armlnx_cache_file1
Make(运行编译结果)
3.编译完成运行得到可执行文件,拷贝lrz和lsz到开发板的sbin目录下.
cp lrz lsz /sbin
问题:无法拷贝
原因:sbin目录只读,无法拷贝
问题:Chmod 无法改变system/bin权限
原因:系统原因该文件夹只读,无法更改
解决办法:将lsz,lrz拷贝到自己定的文件夹下,然后导入PATH:
#export PATH=$PATH:/data/app/cobalt.changhong.com.cobaltapp-1
4.执行Ymodem方式传文件命令:
lrz -y
(默认为Zmodem,会失败)
结果:成功传输文件
PS:根据串口波特率,一般传输速度都在20kb/s以下,传递大文件还是用u盘吧