先前在玩gec2410時,有個想法,就是在linux下進行除錯,由於目標板上電或復位時會傳送資訊給pc機的串列埠,這已在windows下實現過,於是想在linux下看看效果,可是當時我在linux下設好串列埠後,發現一點反應都沒有,當時以為是自己沒有安裝交叉編譯環境,於是昨天晚上把嵌入式 linux下的交叉編譯環境裝好後,心想這下應該可以拉,沒想到我上電目標板,linux下的串列埠一直沒有反應,鬱悶,怎麼這樣呢,既然不適交叉編譯環境的原因,總得有個原因吧,於是我上網搜,先前我也夠笨的,怎麼就不知道上網查呢,呵呵,原來是我沒有把vmware的串列埠開啟,呵呵,馬上關機[關虛擬機器下的系統],在vm->setting......->點選add,把串列埠加進來,呵呵設定時盡量不要用自動檢測,要選中串列埠,反正即使你的虛擬系統啟動後可以隨便改的,同時要把串列埠設為啟動時就連線拉,這樣,linux下的串列埠在目標板上電或復位後收到和windows下一樣的資料,哈哈,爽!
環境:
宿主機:windows7 vmware7.1
虛擬機器:fedora12
vmware的串列埠:
乙個虛擬機器最多可以新增四個虛擬串列埠,有如下幾個方法配置虛擬串列埠:
連線乙個虛擬串列埠到宿主機的物理串列埠。
連線乙個虛擬串列埠到宿主機上的乙個檔案。
在兩個虛擬機器之間建立乙個直接的連線,或者將虛擬機器的串列埠與宿主機的應用程式連線。
為虛擬機器新增串列埠
首先要保證虛擬機器處於關機(power off)狀態,選擇選單中的vm -> settings... ,在hardware標籤頁中點選add按鈕,在add hardware wizard對話方塊中選擇serial port,點選next,如圖:
然後要選擇serial port type,共有三種型別:
1.如果你要使用宿主機的物理串列埠裝置,選擇use physical serial port on the
host,然後點選
next,選擇你要使用的物理串列埠即可。
2.如果想要將串列埠資料輸出到乙個檔案,選擇 output to file,然後next,選擇輸出檔案,該檔案是乙個txt文字檔案。啟動虛擬機器後做個測試,在命令列中執行:
echo "asdf" >> /dev/ttys0,
然後開啟輸出檔案,即可看到串列埠輸出的字串asdf。
3.使用named pipe可以實現兩個虛擬機器或虛擬機器與宿主機的應用程式通過串列埠連線。選擇output to named pipe,點選next,進入如下介面:
輸入管道名,對於
windows宿主機,管
道名格式為
//./pipe/
,必須以
//./pipe/開頭。
輸出除錯資訊到宿主機上的應用程式:
第乙個下拉列表選擇this end is the server或
this end isthe client
,在第二個下拉列表選擇
。輸出除錯資訊到另乙個虛擬機器:
將兩個虛擬機器用串列埠連線:
在虛擬機上安裝fedora12和ubuntu10.04,為兩個虛擬機器新增串列埠,
fedora12的串列埠設定為:
ubuntu10.04的串列埠設定為:
這樣設定後
fedora的串列埠為serial port 1,裝置名為ttys0,ubuntu的串列埠為serial port 2,裝置名為ttys1
。測試:
在fedora下執行:
cat
在ubuntu下執行:
echo hello > /dev/ttys1
在fedora裡可以看到收到的字串hello,說明ubuntu傳送和fedora接收正常,可以互換後做同樣的測試。
ARM linux如何開啟串列埠
查詢串列埠對應核心的串口號 可以使用 ls dev tty 檢視所有和串列埠相關的裝置節點檔案 下面是各類tty的區別 1 ttys 串列埠終端 dev ttysn 串列埠終端 serial port terminal 是使用計算機串列埠連線的終端裝置。計算機把每個串列埠都看作是乙個字元裝置。有段時...
VMware開啟映象錯誤
第一次用window10 安裝了乙個虛擬機器,然後直接載入以前存在的虛擬機器映象檔案,就出現如題的錯誤了。步驟一 禁用device guard或credential guard 禁用用於啟用credential guard的組策略設定。在主機作業系統上,右鍵單擊 開始 執行 鍵入gpedit.msc...
CreateFile開啟串列埠時串列埠名字的寫法
開啟com1到com9用 m hcom createfile t com1 generic read generic write,0,null,open existing,null,null 或者m hcom createfile t com1 generic read generic write,...