==================艾鍗科技有限公司 ittraining.elearn.com.tw
課程名稱:Linux系統程式設計
討論板:課程討論板
張貼者:STU06681(陳志偉 )
張貼時間:2016-10-03 14:35:12
文章標題:Linux UART console 疑問諮詢
老師你好,
先前有上過Linux驅動程式設計
目前手邊有embedded device(ARM chip), 在開機時候透過console可以看到 bootloader開機到file system的console log
在整個連貫上有一些想不通的地方, 有一些問題想要請教老師
1.
- device 在一是開機就有console log, 是不是需要做一些額外在kernel 做的事情呢?
想不太明白如何辦到一開機就開始印開機log在console上?
- 先前學到console 是一種UART device, 所以device是不是一開機在bootloader就必需進行config platform device,
以及註冊device driver ?
- 在bootloadr 不是沒有 struct termios, 是如何做到的呢 ?
- 如果在bootloader 配置完platform device, 這樣 kernel 是不是還要再進行配置一次呢 ?
記得之前課程提到device 需要device driver, 這樣Linux 才知道如何透過host controller控制device, 請問
- system 需要具備 UART console device driver? 是否不需要知道UART device chip型號 ?
- 在接console時候有進行probe() 行為嗎 ? 任何以Platform driver的方式來撰寫, 都會有probe()
3.
- 請問課程中有提到透過 tera term 進行serial port setup, 請問這個行為是不是設定在PC而以呢?
- 我看到手邊embedded device 有以下log, 是不是 for file system 的配置 ?
Kernel command line: console=ttyS1,57600n8 BootImage=1 root=/dev/mtdblock5 rootfstype=squashfs,jffs2
4.
- 請問一下在User space寫一個小程式, 透過printf印字,只指定給stdout, 是不是預設是透過 /dev/ttyS1 將string傳遞給kernel, 再透過uart device driver 傳遞給 console?
serial port 底下下command 是否也是如此 ?
- 老師如果要trace printf行為應該從哪幾個檔案或者介紹看起呢?
5. 請問目前現在在手邊有console線, 但是是將 RS232 轉成UART的 4 pin, 請問一般這種線內部是將 9 pin 拉出4 pin 使用而已呢, 還是內部也需要再透過 IC轉換訊號呢 ?
如果你是要轉成USB, 內部還有一個晶片做UART to USB (如 ch340, pl2303, ft232r 等)
Thanks.