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

工作中用的一款开发板,网络驱动与PCIE驱动有冲突,因此板子的网络功能基本上都不能用,每次我copy文件都是把SD卡拔下来(操作系统在SD卡上),插到上位机上去copy,插插拔拔很麻烦,后来我想到了可以通过串口传输文件到开发板,就方便多了,网上查了一下步骤:

首先是下载lrzsz工具,可以下载源码,然后我在PC的linux虚拟机上编译:下载解压之后在文件夹目录下首先配置编译选项:

输入:CFLAGS=-O2 CC=arm-none-linux-gnueabi-gcc ./configure --cache-file=armlnx_cache_file1

这里相当于将编译器改为了arm-none-linux-gnueabi-gcc,我的开发板用的是这个交叉编译工具链,不同的硬件平台是不同的版本,这里需要注意。

上面的语句相当于执行了./configure,就生成了合适的makefile,--cache-file是用来临时存放测试数据的,名字可以任起,我这里叫armlnx_cache_file1。

之后我们输入make,执行编译链接等操作,成功的话就会在src文件夹下生成lrz与lsz两个可执行文件。我们把这两个文件copy到开发板系统的sbin目录下就可以使用了。

传输文件的时候在开发板的目录下随便建立一个文件夹,我就叫tmp,然后进入tmp,输入lrz,就会进入等待接收状态,打印显示了lrz waiting to recieved。。。。。

注意这里有个问题,我开始的时候用的是putty终端,后来发现putty不支持zmodem协议文件传输,所以我们想通过串口传输文件的话只能换一个终端了。我开始看了一下secureCRT,但是这个软件不是免费的,还要破解,很麻烦,况且公司也不允许用破解或者盗版软件。于是我又找了一个XShell工具,是免费的,很好用。

装上xshell之后需要配置一下,首先建立一个链接,名字随便起,协议选择serial串口:

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

之后配置串口参数,注意别填错,根据你的环境的串口设置来填:

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

确定之后就可以了,接着打开开发板,在xshell中就启动系统了,进入tmp,输入lrz -y,然后在xshell中选择文件传输,如下图所示:

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

选择想要传输的文件就可以了,注意这里我选择的是YMODEM的方式传输,如果在开发板的tmp路径下直接输入lrz后面不跟选项,就是在ZMODEM下传输,也不用在xshell中再选择传输文件,它会直接弹出一个对话框的,但是这种方法我试了好几次传输都失败,所以迫不得已我只能选择了YMODEM的方式。

如果大家能解决我的问题,非常感谢,哈哈哈。

你可能感兴趣的:(上位机通过串口向开发板发送文件)