Linux實用工具-minicom使用總結

SYNOPSIS
       minicom [options] [configuration]

功能

串口通信程序。

描述

簡介

在嵌入式開發中,Linux主機上安裝好minicom程序之后,將linux主機和開發板通過串口相連接,這樣可以直接在pc上面通過啟動的minicom,"登陸"到開發板上,和開發板進行交互,效果類似遠程登陸telnet不過使用的是串口連接。

配置

啟動minicom的時候,會檢測 MINICOM 環境變量,將它們作為命令參數,如果命令中指定了某個參數,那么這個 MINICOM 中的相應的某個參數會被替換。注意必須對這個環境變量進行 export 才行。

例如:

MINICOM='-m -c on'
export MINICOM

這樣,啟動minicom的時候,會自動地將這個環境變量指定的參數作為minicom的啟動參數。如果命令行中又指定了這個環境變量中的某個參數,那么命令行中指定的參數值將會覆蓋這個環境變量的參數值。

或者其它等效的設置,然后啟動minicom,minicom 會假定你的終端有Meta鍵或Alt鍵,并且支持彩色。如果你從一個不支持彩色的終端登錄,并在你的啟動文件( .profile 或等效文件)中設置了 MINICOM ,而且你又不想重置你的環境變量,那么你就可以鍵入 minicom -c off ,來運行這次沒有色彩支持的會話。

The configuration 參數更有趣。通常,minicom從文件 minirc.dfl 中獲取其缺省值。不過,若你給minicom一個參數,它將嘗試從文件 minirc.configuration 中獲取缺省值。因此,為不同端口、不同用戶等創建多個配置文件是可能的。最好使用設備名,如: 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 。如在本機上,我做了一個 minirc.root ,輸入 minicom root 啟動minicom,則系統自動加載 /etc/minirc.root 中的配置。

$HOME/.minirc.*
$HOME/.dialdir
$HOME/minicom.log
/usr/share/locale/*/LC_MESSAGES/minicom.mo

命令行啟動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克隆不經翻譯也能正確顯示它們(Linux使用專門的模式:Coherent和Sco)。
  • -w 在啟動的時候就自動換行,這樣啟動之后不用運行<C-a> w進行設置了,詳細參考后面。
  • -a 特性使用。 有些終端,特別是televideo終端, 有個很討厭的特性處理(串行而非并行)。minicom缺省使用‘-a on’,但若你在用這樣的終端,你就可以(必須!)加上選項‘-a off’。尾字‘on’或‘off’需要加上。
  • -t 終端類型。使用此標志, 你可以重載環境變量TERM, 這在環境變量MINICOM 中使用很方便; 你可以創建一個專門的 termcap 入口以備minicom 在控制臺上使用,它將屏幕初始化為raw模式, 這樣,連同‘-l’標志一起,就可以不經翻譯而顯示IBM行字符。
  • -c 顏色使用。些終端(如Linux控制臺)支持標準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

    #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機器直接通過串口傳輸文件。

準備需要的文件

假設我的開發板是arm體系的cpu。那么需要如下文件:

  1. lrzsz-0.12.20.tar.gz: 傳輸文件的工具,需要編譯成開發板子可運行的,也要再編譯一份在pc上面運行的。
  2. bin_forarm/* :這里是隨便建立的一個目錄,里面存放編譯好的在開發板子運行的文件傳輸工具(也就是前面那個lrzsz的arm運行版本,編譯它們需要借助交叉編譯工具),需要拷貝到板子上的/usr/bin目錄下。
  3. bin_forpc_maybe/* :這里是隨便建立的一個目錄,里面存放編譯好的在pc運行的文件傳輸工具(也就是前面那個lrzsz的pc運行版本),因為可能pc上面原來就有lrzsz工具,所以可以先只把bin_forarm的內容拷貝到開發板上面嘗試一下看能否傳輸,如果只拷貝bin_forarm/*不好用的話就把這里的內容拷貝到pc的/usr/bin下。

工具(lrzsz,minicom)的獲取

  1. 下載lrzsz-0.12.20: http://download.chinaunix.net/download/0007000/6293.shtml
  2. 編譯:交叉編譯lrzsz拷貝到開發板上, 編譯lrzsz并拷貝到pc機器上.
  3. 下載minicom: #apt-get install minicom

這里假設我的系統是ubuntu.

配置

  1. 打開minicom,配置環境。

  2. 配置文件所在目錄

    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                     |
    +--------------------------+
    +-----------------------------------------------------------------------+
    | A - Download directory : /tmp                                         |  
    | B - Upload directory   : /home/quietheart/tmpTrans                    |  
    | C - Script directory   :                                              |  
    | D - Script program     : runscript                                    |  
    | E - Kermit program     :                                              |  
    | F - Logging options                                                   |  
    |                                                                       |  
    |    Change which setting?                                              |  
    +-----------------------------------------------------------------------+
    

    這里:

    • A - download 下載的文件的存放位置
    • B - upload 從此處讀取上傳的文件
    • download 開發板 —> PC
    • upload PC —> 開發板
    • B - Upload directory : /home/quietheart/tmpTrans

    PC機向開發板發送文件,需要發送的文件在/home/quietheart/tmpTrans目錄下(PC機上的目錄)。

做了此項配置后,每次向開發板發送文件時,只需輸入文件名即可,無需輸入文件所在目錄的絕對路徑

傳輸文件

實際前面的upload directory表示pc機器的上傳目錄,將會把這個目錄中的內容傳到板子上面.上面的配置不是必須的,但在后面選擇的時候使用上面的目錄做為默認。

方法:假設我在pc上面,使用minicom,在minicom中,

PC–>開發板

首先,在minicom中,運行開發板子上的rz,準備接受數據:

#lrz

然后,在minicom中,輸入

[Ctrl]a S

這里的Send表示從pc發送到開發板子.然后會進入選擇文件的目錄(默認為upload目錄),選擇PC機上面準備傳輸的文件,然后確認即可。

這樣會開始傳輸文件,傳輸的文件最終存放在開發板子上運行lrz命令的地方。

開發板–>PC

首先在開發板子上面運行:

#lsz filename

然后,在開發板子上minicom下運行(有時候不需要這一步)

[Ctrl]a R

這樣,會自動把要傳送的文件傳送到前面設置的Download directory上面(/tmp)

其它

以上,是我對Minicom使用的一些經驗的總結。

參考資料

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380