嵌入式:本機檢視串列埠除錯資訊
串列埠輸出資訊是嵌入式系統開發最基本的除錯手段.但由於空間,外觀的限制,很多產品無法在最終產品上連線出除錯串列埠.前後期除錯手段的差異,給產品的後期除錯帶來不少的麻煩.
可以在最初開發的時候考慮到輸出資訊的重定向.如wince應用程式,除錯時可以將RETAILMSG即 重定向到主機開發工具上.如果是Release版本,也可以用wprintf替換NKDbgPrintfW,修改登錄檔,複製console.dll到windows目錄,除錯資訊就會輸出到控制檯視窗.如果是系統除錯資訊,動態載入的驅動也可以用wprintf,不過wprintf會比較費時間,非動態載入部分則相對麻煩,除非在OEM函式如OEMWriteDebugByte實現,當然,Debug版本可以定向到Kitl.
以上的方式同主機上的串列埠終端相比,算是純軟體的方式.除了透過串列埠連線產品到主機,還有一種硬體的實現方式:串列埠偵錯程式的loopback模式.
很多串列埠偵錯程式都有loopback模式,設定成該模式,相當於你的除錯串列埠硬體連線上了另一臺裝置,不管是什麼地方的串列埠輸出,都可以透過串列埠驅動或其它方式讀到.如wince上,你就可以透過InputDebugCharW讀到串列埠輸出資訊,然後轉到你想要他們去的地方.
InputDebugCharW 有一個問題,就是可能會丟失資料,畢竟該函式只能輪詢.用中斷或者DMA吧,推薦DMA,及時是核心異常資訊,DMA也會老老實實的把所有資訊轉到你指定的地方,處理得當,重新復位後,仍然可以讀到.[@more@]
可以在最初開發的時候考慮到輸出資訊的重定向.如wince應用程式,除錯時可以將RETAILMSG即 重定向到主機開發工具上.如果是Release版本,也可以用wprintf替換NKDbgPrintfW,修改登錄檔,複製console.dll到windows目錄,除錯資訊就會輸出到控制檯視窗.如果是系統除錯資訊,動態載入的驅動也可以用wprintf,不過wprintf會比較費時間,非動態載入部分則相對麻煩,除非在OEM函式如OEMWriteDebugByte實現,當然,Debug版本可以定向到Kitl.
以上的方式同主機上的串列埠終端相比,算是純軟體的方式.除了透過串列埠連線產品到主機,還有一種硬體的實現方式:串列埠偵錯程式的loopback模式.
很多串列埠偵錯程式都有loopback模式,設定成該模式,相當於你的除錯串列埠硬體連線上了另一臺裝置,不管是什麼地方的串列埠輸出,都可以透過串列埠驅動或其它方式讀到.如wince上,你就可以透過InputDebugCharW讀到串列埠輸出資訊,然後轉到你想要他們去的地方.
InputDebugCharW 有一個問題,就是可能會丟失資料,畢竟該函式只能輪詢.用中斷或者DMA吧,推薦DMA,及時是核心異常資訊,DMA也會老老實實的把所有資訊轉到你指定的地方,處理得當,重新復位後,仍然可以讀到.[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/116625/viewspace-1000404/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 嵌入式系統除錯Uboot串列埠互動除錯除錯boot串列埠
- win10 如何除錯串列埠_win10串列埠除錯怎麼除錯Win10除錯串列埠
- 9針串列埠除錯串列埠除錯
- serial for mac 串列埠除錯工具Mac串列埠除錯
- 痞子衡嵌入式:串列埠除錯工具Jays-PyCOM誕生記(3)- 串列埠功能實現(pySerial)串列埠除錯
- linux串列埠命令列除錯Linux串列埠命令列除錯
- web實現串列埠除錯助手Web串列埠除錯
- 用netstat -ano檢視本機埠詳解
- Linux: 如何檢視本機埠並釋放Linux
- Xamarin.Forms-手機串列埠除錯程式開發文件ORM串列埠除錯
- 用VB除錯串列埠通訊 (轉)除錯串列埠
- 虛擬串列埠工具和串列埠除錯工具詳解 - 附下載地址串列埠除錯
- gdbserver連線Ubuntu除錯程式(使用串列埠)ServerUbuntu除錯串列埠
- 超好用的繪圖串列埠除錯助手繪圖串列埠除錯
- 沒有真實串列埠裝置時使用"虛擬串列埠驅動"除錯你的串列埠程式碼串列埠除錯
- 【linux學習--工具篇】串列埠除錯工具Linux串列埠除錯
- 痞子衡嵌入式:串列埠除錯工具Jays-PyCOM誕生記(5)- 軟體優化串列埠除錯優化
- 【recovery】android使用串列埠列印recovery除錯日誌Android串列埠除錯
- 通過JLINK實現串列埠顯示除錯串列埠除錯
- 一款小而美的線上串列埠除錯工具串列埠除錯
- RHEL6.8程式單印表機串列埠檢查串列埠
- FX-3U PLC串列埠與PC通訊除錯串列埠除錯
- 痞子衡嵌入式:串列埠除錯工具Jays-PyCOM誕生記(2)- 介面構建(wxFormBuilder3.8.0)串列埠除錯ORMUI
- 痞子衡嵌入式:串列埠除錯工具Jays-PyCOM誕生記(4)- 聯合除錯(vspd, sscom, PyCharm2018.2)串列埠除錯PyCharm
- J-LINK RTT列印除錯,釋放串列埠資源除錯串列埠
- serial for mac(串列埠除錯工具) v2.0.16啟用版Mac串列埠除錯
- 痞子衡嵌入式:串列埠除錯工具Jays-PyCOM誕生記(6)- 打包釋出(PyInstaller3.3.1)串列埠除錯
- 檢視埠號
- 蘋果Mac電腦串列埠除錯工具:serial for mac 支援M1蘋果Mac串列埠除錯
- iOS除錯小技巧,在殺死程式怎麼檢視NSLog資訊iOS除錯
- iOS比優雞除錯技巧篇(一):reveal檢視除錯iOS除錯
- [20121203]windows下使用systeminfo檢視本機資訊.txtWindows
- iOS10 UI教程檢視除錯iOSUI除錯
- C# 簡易的串列埠監視上位機實現C#串列埠
- 檢視IBM小機HMC埠IP地址IBM
- 【主機】檢視伺服器埠狀態伺服器
- 串列埠通訊系列六-串列埠與上位機通訊呼叫Flash及Flash視訊切換(非互動)串列埠
- 虛擬串列埠工具MCGS開發除錯的靈活應用教程串列埠除錯