wince 串列埠除錯資訊輸出

2021-06-06 08:22:51 字數 943 閱讀 1011

不管在wince5.0還是在wince6.0中,我們在除錯驅動或者應用的時候都會用到列印函式。在驅動裡面,我們可能會用debugmsg(..),retailmsg(..),還有nkdbgprintfw(..)。在我們使用這些列印函式除錯我們的程式之前,我們需要實現串列埠列印功能。

在wince的bsp中,如果想呼叫debugmsg(..)或者retailmsg(..)來從串列埠列印資訊,必須在我們的bsp中的oal層找到debug.c,在這個檔案裡面實現下面的4個函式:

void oeminitdebugserial(void) :      初始化用於列印資訊的串列埠

int oemreaddebugbyte (void):      從串列埠讀乙個byte,出錯時返回oem_debug_com_error;沒有資料時返回oem_debug_read_nodata

void oemwritedebugbyte(byte ch): 寫乙個byte到串列埠void oemwritedebugstring(unsigned short* str):寫乙個字串到串列埠,這個函式其實就是通過呼叫oemwritedebugbyte(..)實現的。實現了上述的4個函式,就可以通過串列埠列印來除錯程式了。一般這4個函式在oal中的debug.c中實現。

在bsp中,我們一般會用3個函式來實現列印:debugmsg,retailmsg,nkdbgprintfw。簡單介紹一下:

nkdbgprintfw(..)函式一般只在oal中使用,可以直接從串列埠中列印出資訊,不受編譯選項的影響。

debugmsg(..)函式只有在工程在debug模式下編譯以後,才會列印出資訊來。如果是在release模式下編譯的,就不會列印資訊出來。

retailmsg(..)函式在debug模式下和release模式下編譯都會列印出除錯資訊,但是如果你在工程的屬性中的"build option"中選擇了"enable ship build",那麼retailmsg函式就不會列印資訊了。

wince 串列埠除錯資訊輸出

不管在wince5.0還是在wince6.0中,我們在除錯驅動或者應用的時候都會用到列印函式。在驅動裡面,我們可能會用debugmsg retailmsg 還有nkdbgprintfw 在我們使用這些列印函式除錯我們的程式之前,我們需要實現串列埠列印功能。在wince的bsp中,如果想呼叫debug...

vc 除錯資訊輸出 列印除錯資訊

1.cdumpcontext 該類沒有基類。這個類支援面向流的診斷輸出,以人能夠閱讀的文字。該類過載了 操作符。afxdump是乙個預宣告的cdumpcontext物件,可以方便使用。該物件只在mfc的debug版中有效。可以將調式資訊輸出到除錯輸出視窗或除錯終端。example for afxdu...

WinCE中串列埠通訊的除錯方法

串列埠是嵌入式系統中應用很廣的一種通訊介面。在wince中,通常會有乙個串列埠供除錯使用,另外的串列埠可與外圍裝置連線,如gsm和gps等模組,以獲取相應的資訊並進行處理。在wince中,為了使用串列埠,必須有相應的串列埠驅動程式,一般在bsp中都有實現。串列埠驅動是典型的流驅動。應用程式中可通過c...