vmare CDlinux 的串列埠使用

2021-05-24 13:52:18 字數 1760 閱讀 9621

因為想用cdlinux做嵌入式,所以一直想搞定串列埠維護的問題,之前走了一些彎路,

現在終於搞定了^_^

好像虛擬機器的串列埠只能是com1的(也可能是cdlinux的限制,不確定)

我的本本沒有物理串列埠。需要使用虛擬串列埠。

有2個辦法

1.通過vpsm虛擬串列埠

開始使用vpsm軟體虛擬出com4,對應到tcp埠

vmware的串列埠選擇com4

使用crt登入到本機的6020,顯示連線成功

執行echo hi >ttys3

報錯。說明串列埠虛擬有問題

折騰了n久,後來

嘗試echo hi > ttys0 成功

說明雖然虛擬的是com4,但是在cdlinux中還是com1

cdlinux中有0~3三個串列埠裝置,但是只有ttys0和ttys1可以寫入,ttys2,ttys3報錯,原因不明

2.改用name pipe proxy軟體實現

vmare的串列埠選擇//./pipe/com_1。虛擬com1(這個命名管道即使叫com2,實際還是ttys0)

named pipe proxy 選擇吧//./pipe/com1對映到1500

使用crt登入到本機的1500,顯示連線成功

echo hi >/dev/ttys0

crt上顯示hi,說明連線成功

執行getty –l 9600 ttys0 vt100

crt上出現登入頁面

登入也ok

下面就是通過修改inttab可以預設支援串列埠登入

mount /dev/sda1 /media/sda1

cd /media/sda1

mkdir init

mount –o loop initrd /media/sda1/init

cp –r init init1 #這個init目錄是唯讀的,複製一下就可寫了

cd init1

修改inittab

增加ttys0::respawn:/sbin/getty –l 9600 ttys0 vt100

再重新mksquashfs init1 init.md

在複製到啟動目錄,覆蓋原來的initrd

cp init.md /media/sda1/cdlinux/initrd

如果要把啟動選擇頁面輸出到串列埠就比較簡單了

直接改/media/sda1/boor/grub/menu.lst就行了

新增如下行:

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1

terminal --timeout=10 serial console

grub引導過程中, 會將輸出同時傳送到終端螢幕和串列埠. grub引導過程中將在終端和連線到串列埠的超級終端上提示press any key to continue, 每秒鐘提示一次, 共10次, 可修改menu.lst檔案terminal行中的--timeout=10改變提示次數, 在這一段時間內, 可以在終端的鍵盤, 或者連線到串列埠的超級終端中按任意鍵進入grub選擇選單. 如果10秒內沒有在終端和連線串列埠的超級終端上按任意鍵, 則grub的選擇選單將出現在連線串列埠的超級終端上, 如果希望預設情況下, grub選擇選單出現在終端上, 則可修改menu.lst將serial console修改為console serial.

將kernel輸出資訊輸出到串列埠

修改kernel行, 在該行後增加增加

quote:

console=ttys0,9600n8 console=tty0

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,...

串列埠的使用

序列通訊 終端與計算機之間或者計算機與計算機之間進行交換資訊時,除了採用並行通訊方式之外,還經常採用序列通訊方式。並行通訊是指資料的各位同時進行傳送,其有點是傳送資料速度快,缺點是有多少位資料就需要多少根傳輸線,這在資料位數較多,傳送距離較遠時就不宜採用。序列通訊是指資料一位一位地按順序傳送,其突出...

C 串列埠通訊,串列埠的傳送與接收,獲取本機串列埠

serialport 串列埠類 1.引用命名空間 using system.io.ports 2.建立物件 serialport com new serialport 3.給串列埠埠與波特率屬性賦值 com.portname com4 com.baudrate 9600 4.開啟串列埠 com.op...