上位机通过串口向开发板发送文件

背景

每次我从电脑上copy文件到开发板上都是把udisk拔下来,插到上位机上去copy,插插拔拔很麻烦,后来想到了可以通过串口传输文件到开发板,根据开发板的实际情况总结了步骤

 

总体思路:通过在开发板上安装lrzsz实现

lrzsz包括sz和rz:

sz:将选定的文件发送(send)到本地机器

rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器

(rzszLinux/UnixWindows进行ZModem文件传输的命令行工具)

使用到的工具:

Lrzrz:Linux/UnixWindows进行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

上位机通过串口向开发板发送文件_第1张图片

 

Make(运行编译结果)

3.编译完成运行得到可执行文件,拷贝lrz和lsz到开发板的sbin目录下.

 

上位机通过串口向开发板发送文件_第2张图片

 

cp lrz lsz  /sbin

问题:无法拷贝

上位机通过串口向开发板发送文件_第3张图片

原因:sbin目录只读,无法拷贝

 

问题:Chmod 无法改变system/bin权限

原因:系统原因该文件夹只读,无法更改

 

解决办法:将lsz,lrz拷贝到自己定的文件夹下,然后导入PATH:

#export PATH=$PATH:/data/app/cobalt.changhong.com.cobaltapp-1

上位机通过串口向开发板发送文件_第4张图片

 

4.执行Ymodem方式传文件命令:

lrz -y

(默认为Zmodem,会失败)

 

结果:成功传输文件

 

PS:根据串口波特率,一般传输速度都在20kb/s以下,传递大文件还是用u盘吧

你可能感兴趣的:(linux)