WinCE BSP中列印資訊的實現介紹

2021-04-19 09:36:19 字數 1044 閱讀 3141

不管在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 BSP中列印資訊的實現介紹

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

WinCE BSP中列印資訊的實現介紹

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

定時列印資訊

class cl time event definition.public section.class methods auto exe for event finished of cl gui timer importing sender.endclass.cl time event defini...