不管在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函式就不會列印資訊了
該文章**自德仔工作室:http://www.dezai.cn/article_show.asp?articleid=22860
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...