嵌入式linux系统与主机通过串口传输文件
想通过串口在一台嵌入式Linux和pc通讯传输文件使用什么工具呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得 zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下 lsz/lrz的使用方法。
一、 交叉编译 lrzsz 并下载到开发板上
1.获得源码
http://ohse.de/uwe/software/lrzsz.html
获取lrzsz-0.12.20.tar.gz
2.解压源码
tar -xzf lrzsz-0.12.20.tar.gz
3.修改配置 编译
# cd lrzsz-0.12.20
# ./configure --host=arm-linux (如果这个不行试试下面这个)
# ./configure --cache-file=arm-linux.cache
# vi arm-linux.cache
------------------------------
ac_cv_prog_CC=${ac_cv_prog_CC=gcc}
===>
ac_cv_prog_CC=${ac_cv_prog_CC=arm-linux-gcc}
#./configure --cache-file=arm-linux.cache --prefix=/lrzsz
# make
5.得到工具
在src/文件夹下的lrz和lsz工具即是交叉编译成功的lrzsz工具了
6.实用
将lrz和lsz复制到板子/bin下,即可使用。
二、情况1:PC机用windows操作系统
如果PC机用的是windows操作系统,串口通信工具可以用系统自带的超级终端 。下面介绍一下传输文件的方法。
1、开发板-->PC机
在开发板上输入 sz filename。
在PC机上 点击超级终端的菜单“传送”->“接收文件”,选择下载的位置和Z modem 与崩溃恢复 协议,点击接收即可。
2、PC机-->开发板
在开发板上先进入/tmp 目录,然后输入 rz。
在PC机上 点击超级终端的菜单“传送”->“发送文件”,选择目标文件和Z modem 与崩溃恢复 协议,点击发送即可。
三、 情况2:PC机用 linux 操作系统
如果PC机用的是linux操作系统,串口通信工具可以用minicom 。下面介绍一下传输文件的方法。
1、如果是第一次使用minicom,需要进行minicom的设置:
# minicom -s
出现这样的配置界面:
┌───── [configuration]──────┐
│ Filenames and paths │
│ File transfer protocols │
│ Serial port setup │
│ Modem and dialing │
│ Screen and keyboard │
│ Save setup as dfl │
│ Save setup as.. │
│ Exit │
│ Exit from Minicom │
└───────────────────┘
选择Serial port setup, 会看到这样的选项:
A — Serial Device : /dev/ttyS0
B — lockfile Location : /var/lock
C — Calling Program :
D — Callout Program:
E — Bps/par/Bits : 115200 8N1
F — Hardware Flow Control : NO
G — Software Flow Control : NO
Change with setting?
输入前面对应的字母即可进入相应的选项。将选项A的值设置为/dev/ttyS0 表示是串口1,将选项E的值设置为115200,将选项F设置为NO(请根据实际情况配置).
初始化设置中可以设置默认上传/下载的目录,传输协议参数,串口波特率等.设置完成后,选择”Save setup as dfl”,保存为默认设置.然后选择“Exit”,按Ctrl-A,再按z,即可进入Minicom的主界面:
Welco┌─────────────────────────────────┐
│ Minicom Command Summary │
OPTIO│ │
Compi│ Commands can be called by CTRL-A │
│ │
Press│ Main Functions Other Functions │
│ │
│ Dialing directory..D run script (Go)....G | Clear Screen.......C │
│ Send files.........S Receive files......R | cOnfigure Minicom..O │
│ comm Parameters....P Add linefeed.......A | Suspend minicom....J │
│ Capture on/off.....L Hangup.............H | eXit and reset.....X │
│ send break.........F initialize Modem...M | Quit with no reset.Q │
│ Terminal settings..T run Kermit.........K | Cursor key mode....I │
│ lineWrap on/off....W local Echo on/off..E | Help screen........Z │
│ | scroll Back........B │
│ │
│ Select function or press Enter for none. │
│ │
│ Written by Miquel van Smoorenburg 1991-1995 │
│ Some additions by Jukka Lahtinen 1997-2000 │
│ i18n by Arnaldo Carvalho de Melo 1998 │
└──────────────────────────────────┘
CTRL-A Z for help | 38400 8N1 | NOR | Minicom 2.00.0 | VT102 | Offline
2、开发板-->PC机
在开发板上输入 sz filename,然后会出现一个传输界面,传输完成后可以在你设置的默认下载目录里找到这个文件。
3、PC机-->开发板
在开发板上先进入/tmp 目录,然后输入 rz。
按Ctrl-A,再按s,会出现一个选择文件的界面,选择你要传输的文件,回车后出现一个传输界面,传输完成后便可以在开发板的/tmp目录下找到这个文件了。