1. 程式人生 > >linux下USB轉串列埠識別1

linux下USB轉串列埠識別1

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.cnhardy/universe lrzsz 0.12.21-4.1 [97.0kB]
獲取:2http://ubuntu.uestc.edu.cnhardy/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了。