嵌入式linux系统与主机通过串口传输文件

简介:
嵌入式linux系统与主机通过串口传输文件

     我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢? 这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得 zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下 lsz/lrz的使用方法。
     
      一、
编译 lrzsz并下载到开发板上
     从http://download.chinaunix.net/download/0007000/6293.shtml 下一个lrzsz的tar包,解压缩后输入./configure,然后进入了src文件夹中,修改了src文件夹中的Makefile文件,配置为与手机对应的交叉编译器,运行make,ok!得到两个可执行文件sz,rz(或者 lsz,lrz),把它们下载到开发板linux系统的/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目录下找到这个文件了。
分类:  linux tool


本文转自wanqi博客园博客,原文链接:http://www.cnblogs.com/wanqieddy/archive/2011/07/14/2106090.html 如需转载请自行联系原作者
目录
打赏
0
0
0
0
49
分享
相关文章
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
65 28
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
80 24
|
2天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
35 19
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
53 2
Linux系统之su命令的基本使用
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
40 17
嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑
嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑
290 0
嵌入式linux之go语言开发(十三)LittlevGL,漂亮的嵌入式GUI的go语言绑定
嵌入式linux之go语言开发(十三)LittlevGL,漂亮的嵌入式GUI的go语言绑定
嵌入式linux之go语言开发(十二)参数配置文件存储模块开发
嵌入式linux之go语言开发(十二)参数配置文件存储模块开发
嵌入式linux之go语言开发(十一)让web服务器跑在终端上,通过网页配置终端参数
嵌入式linux之go语言开发(十一)让web服务器跑在终端上,通过网页配置终端参数