windows与arm开发板通过串口传输文件

lrzsz源码包下载地址:https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

1、在ubuntu上解压

下载lrzsz源码包,然后再linux上进行解压:sudo   tar   -zxvf   lrzsz-0.12.20.tar.gz

2、添加交叉编译工具链的路径到环境变量

export   PATH=$PATH:你的交叉编译工具链的路径

3、配置

CFLAGS=-O2   CC=arm-linux-gnueabihf-gcc   ./configure   --cache-file=arm_cache_file   --prefix=/usr/local/

注意CFLAGS后的O2前边有个短横杠,/configure前有个点,arm-linux-gnueabihf-gcc为你的交叉编译工具链的名字,arm_cache_file为你创建生成可执行程序的文件夹的名字,这个可以自己起,/usr/local/表示具体安装到哪里。

执行完上述命令之后,可以看到当前解压的这个文件夹中多了arm_cache_file文件夹

4、编译

make

执行完毕之后,进入当前解压目录的src文件夹下,就会看到生成的lrz和lsz两个文件

5、文件拷贝

将lrz,lsz两个目标文件拷贝到开发板上的/usr/sbin/目录下,可以使用NFS进行文件拷贝。有人会问有NFS为何还需要本文的串口传输,是由于PC机存在多个网口时,博主使用windows下的一个NFS的软件,需要将所有其他网口先关闭,等NFS挂载成功再把网口打开,觉得每次都很麻烦,所以才有了本文,如果有好一点的windows下的NFS软件,希望可以多多交流。

6、文件传输

(1)连接好ARM开发板和PC直接的串口,打开终端串口调试软件,执行lrz+回车

问题1:发现说我权限受限

解决:进入到/usr/sbin/文件夹下查看,发现这俩文件都是不可执行的,手动将权限改为可执行:

chmod  755  lrzchmod  755  lsz

问题2:输入lrz之后发现,使用的MobaXterm软件并不能弹出传输文件的对话框

解决:改为使用SecureCRT软件之后,成功。

(2)如果要从开发板传输文件的windows,执行lsz   filename

filename为要传输文件的路径加文件名,在弹出的对话框中选择传输的目的地址,在之后的传输中,将记录本次传输的目的地址,不再弹出对话框。