ubuntu下minicom和USB轉串口

minicom是linux下串口通信的軟件,它的使用完全依靠鍵盤的操作,雖然沒有“超級終端”那麼易用,但是使用習慣之後讀者將會體會到它的高效與便利,下面將講解minicom的安裝和配置。

一、安裝minicom:

使用以下命令:
# sudo apt-get install minicom

以下爲安裝的詳細信息:
# sudo apt-get install minicom

正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹
正在讀取狀態信息... 完成
將會安裝下列額外的軟件包:
lrzsz
下列【新】軟件包將被安裝:
lrzsz minicom

共升級了 0 個軟件包,新安裝了 2 個軟件包,要卸載 0 個軟件包,有 2 個軟件未被升級。
需要下載 270kB 的軟件包。
解壓縮後會消耗掉 1389kB 的額外空間。
您希望繼續執行嗎?[Y/n]y
獲取:1 http://ubuntu.uestc.edu.cn hardy/universe lrzsz 0.12.21-4.1 [97.0kB]
獲取:2 http://ubuntu.uestc.edu.cn hardy/main minicom 2.3~rc1-2 [173kB]
下載 270kB,耗時 1s (184kB/s)
選中了曾被取消選擇的軟件包 lrzsz。
(正在讀取數據庫 ... 系統當前總共安裝有 101203 個文件和目錄。)
正在解壓縮 lrzsz (從 .../lrzsz_0.12.21-4.1_i386.deb) ...

選中了曾被取消選擇的軟件包 minicom。
正在解壓縮 minicom (從 .../minicom_2.3~rc1-2_i386.deb) ...
正在處理用於 man-db 的觸發器...
正在設置 lrzsz (0.12.21-4.1) ...
正在設置 minicom (2.3~rc1-2) ...

PS:ubuntu 現在做的真是沒話說,相當的實用和智能啊,把相關的依賴包(lrzsz)都相互關聯並且安裝上去了。但是如果使用ubuntu 8.10以前的版本可能就要單獨安裝lrzsz軟件包了(lrzsz包括了x/y/zmodem協議)。也就是說,在通過串口用xmodem協議燒寫內核 時會提示沒有xmodem協議,所以這時就要安裝lrzsz軟件包了:
# sudo apt-get install lrzsz
然後就可以正常地使用minicom通過串口燒寫內核了。

二、配置minicom:

1、在使用minicom之前,首先要保證你對串口有讀/寫的權限。我們知道,Linux的設備對應於/dev/目錄中的某個文件,串口COM1對應ttyS0,COM2對應ttyS1,使用以下命令來查看你對COM1的權限:
$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 2009-08-01 11:05 /dev/ttyS0
可以看到,它的屬主是root。

2、正如在Windows中要配置超級終端一樣,在使用minicom之前,先要對串口進行配置。
運行# sudo minicom -s

選擇Serial port setup,此時所示光標在"Change which setting"上,鍵入"A",此時光標移到第A項對應處:串口COM1對應ttyS0,COM2對應ttyS1(注意選擇)。

然後對波特率,數據位和停止位進行配置,鍵入"E",波特率選爲115200 8N1(數據位8,奇偶校驗無,停止位1),硬/軟件流控制分別鍵入"F"和"G",並且都選No。在確認配置正確之後,可鍵入回車返回上級配置界面,並 將其保存爲默認配置(即save setup as dfl)。最後,選擇"Exit from Minicom"命令退出。

具體的配置信息如下所示:
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? |
+-------------------------------------------------------------+

注意:如果沒有使用USB轉串口,而是直接使用串口,那麼Serial Device要配置爲/dev/ttyS0。

然後重啓minicom(即直接在shell下執行minicom命令就可以進入minicom的控制檯)使剛纔的配置生效,再連上開發板的串口線後,就可以在minicom中打印出正確的串口信息了。在控制檯下通過組合鍵Ctrl+A Z可以進入minicom菜單。

組合鍵的用法是:先按Ctrl+A組合鍵,然後鬆開這兩個鍵,再按Z鍵。另外還有一些常用的組合鍵。
(1)S鍵:發送文件到目標系統中;
(2)W鍵:自動卷屏。當顯示的內容超過一行之後,自動將後面的內容換行。這個功能在查看內核的啓動信息時很有用。
(3)C鍵:清除屏幕的顯示內容;
(4)B鍵:瀏覽minicom的歷史顯示;
(5)X鍵:退出mInicom,會提示確認退出。

3、配置文件所在目錄
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機上的目錄)。做了此項配置後,每次向開發板發送文件時,只需輸入文件名即可,無需輸入文件所在目錄的絕對路徑。

三、Linux下如何使用USB轉串口設備

對沒有串口的筆記本持有者來說,做硬件開發經常爲沒有串口而煩惱,不過現在有了USB轉串口設備。但是新的問題又出現了,比如說對於Minicom下的PC機和目標機通信還是存在着一些配置問題,下面就說一下linux下USB轉串口的具體配置和問題:

注意:默認情況下ubuntu已經安裝了USB轉串口驅動(pl2303)。

1、# lsmod | grep usbserial
如果有usbserial,說明系統支持USB轉串口。

2、插上USB轉串口,在終端輸入命令#dmesg | grep ttyUSB0,如果出現連接成功信息,則說明ubuntu系統已經識別該設備了。

注意:虛擬機環境下的ubuntu默認情況下是不能自動識別的,需要在虛擬機窗口右下角點擊"Prolific USB-Serial Controller",然後選擇"Connect (Disconnect from Host)",這樣才能被ubuntu系統識別。

3、在上面minicom的配置中設置Serial Device: /dev/ttyUSB0,重啓開發板,這樣基本上就可以正常使用minicom來打印串口信息了。

4、問題
如果經過上面的步驟minicom還是不能正常工作,出現如下錯誤提示:
# sudo minicom
minicom: cannot open /dev/ttyUSB0: 沒有該文件或目錄

這時可以嘗試換一個USB口,然後再次操作以上流程。如果還是提示這個錯誤,那麼可以使用下面的方法來解決。

這種方法是在硬件裏添加串口設備,將window下的設備添加到虛擬機裏。也就是說,要在window獲得焦點的時 候加入usb轉串口,然後再到虛擬機下將這個設備添加進去,這時就可以在ubuntu下查看添加的這個設備的設備文件,一般是/dev/tty0或者 /dev/ttyS0。

這種方法其實是將window的usb轉串口作爲虛擬機的串口,所以就是tty0或者ttyS0了,而不是真正在ubuntu下加載的。

具體步驟如下:
(1)打開虛擬機環境,然後選擇"VM-->Settings(Ctrl+D)"。

(2)點"Add",進入添加硬件嚮導,選擇"Serial Port",點"Next"。

(3)選擇第一項"Use physical port on the host",點"Next"。

(4)選擇"Physical serial port"方式爲"Auto detect",勾選"Connect at power on",點"Finish"完成。

(5)然後在上面minicom的配置中設置Serial Device: /dev/tty0或者Serial Device: /dev/ttyS0,重啓開發板,這樣就可以正常運行minicom了。

Remember don't at a loss and let the brain to calm down when comes questions, so can solve them faster!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章