minicom使⽤⽅法
因为现在电脑基本不配备串⾏接⼝,所以,usb转串⼝成为硬件调试时的必然选择。⽬前知道的,PL2303的驱动是有的,在dev下的名称是ttyUSB#。
minicom,tkterm都是linux下应⽤⽐较⼴泛的串⼝软件,这⾥简单介绍minicom使⽤。
⼀,安装
sudo apt-get install minicom
⼆,配置
安装完成后,请不要着急打开软件。需先进⾏配置。具体步骤如下:
1.linux下的所有操作⾯向⽤户的都是⽂件操作,在对串⼝操作之前,我们应该先确认⾃⼰对该⽂件有没有读写权限。
ls -l /dev/ttyUSB*
linux下的usb串⼝命名为ttyUSB,运⾏上⾯命令,可以看到有⼏个设备挂载。
我们这⾥是:
crw-rw---- 1 root dialout 188, 0 Apr 10 17:10 /dev/ttyUSB0
只有ttuUSB0.
再⽤lsusb察看:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 046d:c05a Logitech, Inc. Optical Mouse M90
Bus 007 Device 002: ID 046d:c31d Logitech, Inc.
Bus 004 Device 009: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
usb 004正是我们挂上去的usb转串⼝线缆,使⽤的芯⽚是PL2303。
但是正如上⾯显⽰,ttyUSB0这个设备是root所有的,所以,我们以普通⽤户⾝份打开minicom是没法访问该⽂件的。
2.配置minicom的参数
运⾏$ sudo minicom -s
便进⼊了minicom的配置界⾯,使⽤上下键选择Serial port setup,回车。此时光标在“change which setting”后⾯停留,它的上⾯有如下菜单:
Serial port setup [Enter]
+-------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program -: |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-------------------------------------------------------------+
我们只需输⼊上⾯对应的字母,就可以进如相应的菜单进⾏设置。设置完成,回车,光标会回到“change which setting”后⾯,如此重复。完成按回车返回主菜单即可。
注意:如果沒有使⽤USB轉串⼝,⽽是直接使⽤串⼝,那麼Serial Device要配置爲/dev/ttyS0。
返回主菜单后,选择“Save setup as df1”,将其保存为默认设置,然后选择 Exit推出。需退出后重新打开minicom,软件才会使⽤上述参数进⾏初始化。
3.minicom使⽤
如果上⾯设置顺利,打开minicom
sudo minicom
重新给开发板上电后,此时,窗⼝⾥就有信息打印出来了。
minicom基本操作如下:
1)需使⽤Ctrl+a 进⼊设置状态
2)按z进⼊设置菜单
(1)S键:发送⽂件到⽬标系统中;
(2)W键:⾃动卷屏。当显⽰的内容超过⼀⾏之後,⾃动将後⾯的内容换⾏。这个功能在查看内核的啓动信息时很有⽤。
(3)C键:清除屏幕的显⽰内容;
(4)B键:浏览minicom的历史显⽰;
(5)X键:退出mInicom,会提⽰确认退出。
4⼂配置⽂件所在⽬录
Ctrl + A --> O
+-----[configuration]------+
| Filenames and paths |
| File transfer protocols -|
| Serial port setup |
| Modem and dialing |
| Screen and keyboard |
| Save setup as dfl |
| Save setup as.. |
| Exit |
+--------------------------+
选择"Filenames and paths"
+-----------------------------------------------------------------------+
| A - Download directory : /home/crliu |
| B - Upload directory : /tmp |
| C - Script directory : |
| D - Script program : runscript |
| E - Kermit program : |
| F - Logging options |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
(1)A - download 下载⽂件的存放位置(开发板 ---> PC)
开发板上的⽂件将被传输到PC机上的/home/crliu⽬录下。
(2)B - upload 从此处读取上传的⽂件(PC ---> 开发板)
PC机向开发板发送⽂件,需要发送的⽂件在/tmp⽬录下(PC机上的⽬录)。做了此项配置後,每次向开发板发送⽂件时,只需输⼊⽂件名即可,⽆需输⼊⽂件所在⽬录的绝对路径。
5、
启动minicom的时候,会检测MINICOM环境变量,将它们作为命令参数,如果命令中指定了某个参数,那么这个MINICOM中的相应的某个参数会被替换。注意必须对这个环境变量进⾏export才⾏。例如:
MINICOM='-m -c on'
export MINICOM
这样,启动minicom的时候,会⾃动地将这个环境变量指定的参数作为minicom的启动参数。如果命令⾏中⼜指定了这个环境变量中的某个参数,那么命令⾏中指定的参数值将会覆盖这个环境变量的参数值。
或者其它等效的设置,然后启动minicom,minicom 会假定你的终端有Meat键或Alt键,并且⽀持彩⾊。如果你从⼀个不⽀持彩⾊的终端登录,并在你的启动⽂件(.profile或等效⽂件)中设置了 MINICOM,⽽且你⼜不想重置你的环境变量,那么你就可以键⼊‘minicom -c off’,来运⾏这次没有⾊彩⽀持的会话。
The configuration 参数更有趣。通常,minicom从⽂件“minirc.dfl”中获取其缺省值。不过,若你给minicom⼀个参数,它将尝试从⽂
件“figuration”中获取缺省值。因此,为不同端⼝、不同⽤户等创建多个配置⽂件是可能的。最好使⽤设备名,如:tty1,
tty64,sio2等。如果⽤户创建了⾃⼰的配置⽂件,那么该⽂件将以“.minirc.dfl”为名出现在他的home⽬录中。
minicom的全局配置⽂件通常在/etc/minirc.dfl. minicom将其配置⽂件保存在⼀个⽬录中,通常是:/var/lib/minicom, /usr/local/etc或者/etc。要想知道minicom编译时内定的缺省⽬录,可⽤命令“minicom -h”,在那⼉你可能还会到runscript(1) 的demo⽂件。
配置⽂件的⽂件名格式:minirc.user。minicom默认加载配置⽂件minirc.df1,但你也可以仿照minirc.df1编辑⾃⼰的配置⽂件minirc.user,输⼊minicom user启动时则加载minirc.user。如在本机上,我做了⼀个,输⼊minicom root 启动minicom,则系统⾃动加
载/中的配置。
$HOME/.minirc.*
$HOME/.dialdir
linux换行按哪个键
$HOME/minicom.log
/usr/share/locale/*/LC_
*命令⾏启动minicom的参数
更多的参数,参见"man minicom"的输出。
-s
设置。 root 使⽤此选项在/etc/minirc.dfl中编辑系统范围的缺省值。使⽤此参数后,minicom 将不进⾏初始化,⽽是直接进⼊配置菜单。如果因为你的系统被改变,或者第⼀次运⾏minicom时,minicom不能启动,这个参数就会很有⽤。对于多数系统,已经内定了⽐较合适的缺省值。
-o
不进⾏初始化。minicom 将跳过初始化代码。如果你未复位(reset)就退出了minicom,⼜想重启⼀次会话(session),那么⽤这个选项就⽐较爽(不会再有错误提⽰:modem is locked ---- 注)。但是也有潜在的危险:由于未对lock⽂件等进⾏检查,因此⼀般⽤户可能会与uucp之类的东东发⽣冲突......也许以后这个参数会被去掉。现在姑且假定,使⽤modem的⽤户对⾃⼰的⾏为⾜够负责。
-m
⽤Meta或Alt键重载命令键。在1.80版中这是缺省值,也可以在minicom 菜单中配置这个选项。不过若你⼀直使⽤不同的终端,其中有些没有Meta或Alt键,那么⽅便的做法还是把缺省的命令键设置为Ctrl-A,当你有了⽀持 Meta或Alt键的键盘时再使⽤此选项。Minicom假定你的Meta键发送ESC前缀,⽽不是设置字符最⾼位的那⼀种(见下)。
-M
跟“-m”⼀样,但是假定你的Meta键设置字符⾼端的第⼋位(发送128+字符代码)。
-z
使⽤终端状态⾏。仅当终端⽀持,并且在其termcap或terminfo⼊⼝中有相关信息时才可⽤。
-l
逐字翻译⾼位被置位的字符。使⽤此标志, minicom将不再尝试将IBM⾏字符翻译为ASCII码,⽽是将其直接传送。许多PC-Unix克隆不经翻译也能正确显⽰它们(使⽤专门的模式:Coherent和Sco)。
-w
在启动的时候就⾃动换⾏,这样启动之后不⽤运⾏<C-a> w进⾏设置了,详细参考后⾯。
-a
特性使⽤。有些终端,特别是televideo终端,有个很讨厌的特性处理(串⾏⽽⾮并⾏)。minicom缺省使⽤‘-a on’,但若你在⽤这样的终端,你就可以(必须!)加上选项‘-a off’。尾字‘on’或‘off’需要加上。
-t
终端类型。使⽤此标志,你可以重载环境变量TERM,这在环境变量MINICOM 中使⽤很⽅便;你可以创建⼀个专门的 termcap ⼊⼝以备minicom 在控制台上使⽤,它将屏幕初始化为raw模式,这样,连同‘-l’标志⼀起,就可以不经翻译⽽显⽰IBM⾏字符。
-c
颜⾊使⽤。些终端(如控制台)⽀持标准ANSI转义序列⾊彩。由于termcap显然没有对于⾊彩的⽀持,因⽽minicom 硬性内置了这些转义序列的代码。所以此选项缺省为off。使⽤‘-c on’可以打开此项。把这个标志,还有‘-m’放⼊MINICOM环境变量中是个不错的选择。
-S
脚本。启动时执⾏给定名字的脚本。到⽬前为⽌,还不⽀持将⽤户名和⼝令传送给启动脚本。如果你还使⽤了‘-d’选项,以在启动时开始拨号,此脚本将在拨号之前运⾏,拨号项⽬⼊⼝由‘-d’指明。
-p
要使⽤的伪终端。它超载配置⽂件中定义的终端端⼝,但仅当其为伪tty设备。提供的⽂件名必须采⽤这样的形式:(/dev/)tty[p-z][0-f]
-C
⽂件名。启动时打开捕获⽂件。
-8
不经修改地传送8位字符。“连续”意指未对地点/特性进⾏真正改变,就不插⼊地点/特性控制序列。此模式⽤于显⽰8位多字节字符,⽐如⽇本字(TMD!应该是中国字!!)。不是8位字符的语⾔都需要(例如显⽰芬兰⽂字就不需要这个)。
[举例]
*启动minicom的时候,开启⾃动换⾏:
$minicom -w
如果不加这个项,那么在minicom和pc交互的时候中键⼊命令超过⼀⾏时候会被截断,(这时候可以通过<C-a> w来开和关切换截断⾏功能).
*启动minicom的时候,显⽰颜⾊:
$minicom -c on
这样,启动之后我们会发现显⽰的内容不是⿊⽩的了。
*启动⼀个图形的minicom:
$xminicom
*启动minicom的时候,⾃动创建⽇志捕捉⽂件my_capturefile:
$minicom -C my_capturefile
这样,启动之后,所在minicom的输出都会在my_capturefile中保留⼀份,如果原来⽂件存在,则追加,不存在则创建⼀个。
*启动minicom的时候,将命令键修改成Meta键(<C-a>变成[Alt]或者[ESC]等):
$minicom -m
这样,我们可以取代⽤<C-a> *发送命令的⽅式,将<C-a>替换成[Alt]或者[ESC].
*启动minicom的时候,指定运⾏的脚本:
$minicom -S <filename>
这⾥,<filename>是你的脚本⽂件的名字,应该指定绝对路径,否则就会在你启动minicom的路径下寻。关于minicom的脚本,可以参考man⼿册"man runscript".交互命令中可以运⾏"<C-a>G"来运⾏脚本。
关于runscript脚本:
注释是'#'开始的。
send命令中的字符串,有\c就不会发送默认的\r了。例:send "ls \c"就不会⾃动回车,这⾥'\c'也可以在前⾯。
⽬前发现,脚本功能⽐较弱。在minicom原代码中有简单的例⼦:scriptdemo和unixlogin,可以直接在linux运⾏runscript.
可以指定minicom的脚本运⾏程序,
D - Script program
作为脚本解释器的程序。缺省是“runscript”,也可⽤其它的东东(如: /bin/sh 或 "expect",这样就可以⽤shell或者其他的脚本了^_^)。Stdin 和Stdout连接到modem,Stderr连接到屏幕。
**minicom的交互使⽤
Minicom是基于窗⼝的。要弹出所需功能的窗⼝,可按下Ctrl-A (以下使⽤C-A来表⽰Ctrl-A),然后再按各功能键(a-z或A-Z)。先按C-A,再
按'z',将出现⼀个帮助窗⼝,提供了所有命令的简述。配置 minicom(-s 选项,或者C-A、O)时,可以改变这个转义键,不过现在我们还是⽤Ctrl-A吧。
这⾥,只给出很少的命令,更多的交互命令参见"<C-a> z"的帮助输出。
*查看帮助:
输⼊"<C-a> z".
这样会显⽰所命令列表,便于查。
*回到shell:
输⼊"<C-a> j".
这样minicom会在后台stop,直到fg将它调到前台。
*开/关捕捉minicom中的输出到⼀个⽂件:
输⼊"<C-a> l".
这样会打开/关闭捕捉输出功能,捕捉的输出会存放在⼀个你选择的⽂件中。
*退出minicom:
输⼊"<C-a> x".
这样会退出minicom.
**
[其他]
*配置minicom:
配置minicom的⽬的是让pc机可以通过minicom连接开发板。
下⾯是⼀个配置的例⼦:
(1)#minicom -s
(2)选择"Serial port setup"
配置其中的如下配置项:
A - Serial Device : /dev/ttyS0
E - Bps/Par/Bits : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
这⾥,也可以在启动minicom之后运⾏"<C-a> o"来进⾏配置。
*使⽤minicom在开发板和主机之间传输⽂件
这⾥详细讲述如何在minicom下⾯,开发板⼦和pc机器直接通过串⼝传输⽂件。
主要内容:
1)准备需要的⽂件
假设我的开发板是arm体系的cpu。那么需要如下⽂件:
a)lrzsz-0.12.: 传输⽂件的⼯具,需要编译成开发板⼦可运⾏的,也要再编译⼀份在pc上⾯运⾏的。
b)bin_forarm/* :这⾥是随便建⽴的⼀个⽬录,⾥⾯存放编译好的在开发板⼦运⾏的⽂件传输⼯具(也就是前⾯那个lrzsz的arm运⾏版本,编译它