Ubuntu10.10下安装和使用lrzsz,实现串口传输文件&&minicom

  • Post author:
  • Post category:其他


一、安装配置minicom

1、安装minicom:

sudo apt-get install minicom

2、配置minicom:

sudo minicom -s

A.进入


Serial port setup


选择相应的端口和频率。

(将选项A的值设置为/dev/ttyS0 表示是串口1,将选项E的值设置为115200,将选项F设置为NO(请根据实际情况配置))

B.进入


Filenames and paths


选择相应的上传/下载目录。


| A – Download directory :


/home/pinggle/download




| B – Upload directory :

/home/pinggle/opt/upload





注意:开发板发送给pc的文件将保存在Download directory所设定的目录中,而pc要下载到开发板的文件保存在Upload directory所设定的目录中


C.设置完成后,选择


Save setup as dfl,


保存为默认设置.

3、运行minicom:

minicom

.

按Ctrl-A,再按z,可以获取到minicom CTRL-A命令的帮助信息。

其中,我们用

CTRL-A s

来发送文件给开发板;而用

CTRL-A r

来接收开发板上的文件。

二、安装lrzsz

1、在PC上安装lrzsz:

sudo apt-get install lrzsz

2、交叉编译lrzsz并下载到开发板上:

A.下载lrzsz源码包.

B.解压缩后,到解压目录中执行./configure (

tar -zxf lrzsz-0.12.20.tar.gz

;

cd lrzsz-0.12.20/

;

./configure

)

C.修改Makefile:

有三个Makefile需要修改,分别是


lrzsz-0.12.20/Makefile



,



lrzsz-0.12.20/lib/Makefile



,



lrzsz-0.12.20/src/Makefile


将这三个Makefile中的所有gcc替代成你开发板所需要的交叉编译器,如mipsel-linux-gcc


(即:

CC = gcc


CPP = gcc -E

都改成

CC = mipsel-linux-gcc


CPP = mipsel-linux-gcc -E




D.编译:make




E.在lrzsz-0.12.20/src目录下会生成两个可执行文件lsz、lrz(或者sz、rz),把它们下载到开发板linux系统的/bin目录下。

三、使用lrzsz:



1、

开发板–>PC机


在开发板上输入




lsz filename




,然后会出现一个传输界面,传输完成后可以在你设置的默认下载目录Download directory里找到这个文件。


2、

PC机–>开发板




在开发板上先进入/tmp 目录,然后输入lrz。



# cd /tmp

# lrz

?z waiting to receive.**B0100000023be50


按Ctrl-A,再按s,选择zmoden,会出现一个选择文件的界面,选择你要传输的文件(按一下空格键选择目录,按两下空格键进入目录),回车后出现一个传输界面,传输完成后,便可以在开发板的/tmp目录下找到这个文件了。

| Name Program Name U/D FullScr IO-Red. Multi |

| A zmodem /usr/bin/sz -vv -b Y U N Y Y |

| B ymodem /usr/bin/sb -vv Y U N Y Y |

| C xmodem /usr/bin/sx -vv Y U N Y N |

| D zmodem /usr/bin/rz -vv -b -E N D N Y Y |

| E ymodem /usr/bin/rb -vv N D N Y Y |

| F xmodem /usr/bin/rx -vv Y D N Y N |

| G kermit /usr/bin/kermit -i -l %l -b %b Y U Y N N |

| H kermit /usr/bin/kermit -i -l %l -b %b N D Y N N |

| I ascii /usr/bin/ascii-xfr -dsv Y U N Y N |

ubuntu下从PC机下载文件到开发板上:

1.在开发板的内核配置中,必须选上:openwrt->menuconfig->Base system–>busybox–>Miscellaneous Utilities–>rx

2.在mincom下,待开发板启动以后,运行: rx FILE 。##Receive a file using the xmodem protocol。

3.Ctrl+A, S ,选择xmodem,就会跳出一个选择传送文件的界面,选择好文件后,回车。

4.若提示:Transfer incomplete

READY: press any key to continue…

就表明文件已成功下载到开发板的当前目录。


报错:

root@BenNanoNote:/# rz

/bin/rz: line 1: syntax error: unexpected “(”

解决方案:换成开发板上的编译工具编译。

minicom拓展



安装:

sudo apt-get install minicom

配置一:

配置使用命令:minicom -s

1.选择第三个菜单项,即”Serial port setup”,根据目标板的串口通信参数设置.

如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。

对波特率,数据位和停止位进行配置,键入“E”,波特率选为115200 8N1 (奇偶校验无, 停止位1),

硬/软件流控制分别键入“F”“G”并且都选NO.

在确认配置正确之后,可键入回车返回上级配置界面,并将其保存为默认配置。(即save setup as dfl),之后重启minicom是刚才配置生效,在连上开发板的串口线后,就可在minicom中打印正确的串口信息了。

配置二:

1 . 在终端中输入minicom以启动minicom;

2. 先按下Ctrl + a, 放开, 再按o, 出现配置菜单.

组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。另外还有一些常用的组合键。

(1)S键:发送文件到目标系统中;

(2)W键:自动卷屏。当显示的内容超过一行之后,自动将后面的内容换行。这个功能在查看内核的启动信息时很有用。

(3)C键:清除屏幕的显示内容;

(4)B键:浏览minicom的历史显示;

(5)X键:退出mInicom,会提示确认退出。

这时候可以打印串口的信息了,但是在通过串口用xmodem协议烧写内核时会提示没有xmodem协议。

所以还必须安装软件包:lrzsz

sudo apt-get install lrzsz

这时候就可以正常地用minicom通过串口烧写内核了。

下次在输入minicon 即可直接进入。

命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。

说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。

编译lrzsz时报错:与libintl.h有关的。

解决方案:在src/zglobal.h中有libintl.h处修改:

#if 0

//ENABLE_NLS

# include <libintl.h>

# define _(Text) gettext (Text)

#else

#endif

# define bindtextdomain(Domain, Directory) /* empty */

# define textdomain(Domain) /* empty */

# define _(Text) Text

再make虽有警告,但不会报错,而且src目录下的lrz和lsz可以使用。