• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            打印函數(shù)總結(jié)RETAILMSG(..) DEBUGMSG(..) NKDbgPrintfW(..)

            作者:ARM-Win

            不管在WinCE5.0還是在WinCE6.0中,我們?cè)谡{(diào)試驅(qū)動(dòng)或者應(yīng)用的時(shí)候都會(huì)用到打印函數(shù)。在驅(qū)動(dòng)里面,我們可能會(huì)用DEBUGMSG(..),RETAILMSG(..),還有NKDbgPrintfW(..)。在我們使用這些打印函數(shù)調(diào)試我們的程序之前,我們需要實(shí)現(xiàn)串口打印功能。

            在WinCE的BSP中,如果想調(diào)用DEBUGMSG(..)或者RETAILMSG(..)來從串口打印信息,必須在我們的BSP中的OAL層找到debug.c,在這個(gè)文件里面實(shí)現(xiàn)下面的4個(gè)函數(shù):

            void OEMInitDebugSerial(void) :           初始化用于打印信息的串口

            int OEMReadDebugByte (void):            從串口讀一個(gè)byte,出錯(cuò)時(shí)返回OEM_DEBUG_COM_ERROR;沒有數(shù)據(jù)時(shí)返回OEM_DEBUG_READ_NODATA

            void OEMWriteDebugByte(BYTE ch): 寫一個(gè)byte到串口void OEMWriteDebugString(unsigned short* str): 寫一個(gè)字符串到串口,這個(gè)函數(shù)其實(shí)就是通過調(diào)用OEMWriteDebugByte(..)實(shí)現(xiàn)的。實(shí)現(xiàn)了上述的4個(gè)函數(shù),就可以通過串口打印來調(diào)試程序了。一般這4個(gè)函數(shù)在OAL中的debug.c中實(shí)現(xiàn)。
             
            在BSP中,我們一般會(huì)用3個(gè)函數(shù)來實(shí)現(xiàn)打印:DEBUGMSG,RETAILMSG,NKDbgPrintfW。簡(jiǎn)單介紹一下:
             
            NKDbgPrintfW(..)函數(shù)一般只在OAL中使用,可以直接從串口中打印出信息,不受編譯選項(xiàng)的影響。
             
            DEBUGMSG(..)函數(shù)只有在工程在Debug模式下編譯以后,才會(huì)打印出信息來。如果是在Release模式下編譯的,就不會(huì)打印信息出來。
             
            RETAILMSG(..)函數(shù)在Debug模式下和Release模式下編譯都會(huì)打印出調(diào)試信息,但是如果你在工程的屬性中的"Build option"中選擇了"Enable ship build",那么RETAILMSG函數(shù)就不會(huì)打印信息了。



            本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/jiereliyi/archive/2009/08/31/4504136.aspx

            posted on 2010-08-20 09:51 遲到的愛 閱讀(2056) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: 打印函數(shù)總結(jié)RETAILMSG(..) DEBUGMSG(..) NKDbgPrintfW(..) 2011-10-14 11:12 尋找

            retailmsg在驅(qū)動(dòng)調(diào)試?yán)锒紱]法打印是什么原因,是在release編譯下的,  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久香蕉一级毛片| 一本一道久久a久久精品综合| 嫩草伊人久久精品少妇AV| 亚洲愉拍99热成人精品热久久 | 国产精品成人无码久久久久久| 亚洲国产精品高清久久久| 亚洲乱码精品久久久久..| 国产成人久久精品一区二区三区 | 青青草原综合久久大伊人精品| 香蕉久久夜色精品国产小说| 久久国产精品偷99| 久久精品久久久久观看99水蜜桃| 久久精品国产99久久久| 久久久久99精品成人片| 久久99热只有频精品8| 久久无码一区二区三区少妇| 久久精品国产清高在天天线| 亚洲国产成人精品91久久久| 一本色道久久88加勒比—综合| 亚洲av日韩精品久久久久久a| 久久成人精品| 无码国内精品久久人妻| 久久99亚洲综合精品首页| 91精品国产91久久综合| 久久亚洲精品中文字幕| 亚洲午夜久久久影院伊人| 精品国产乱码久久久久软件| 久久国产精品一区| 久久九九免费高清视频| 国产成人久久AV免费| 国内精品久久久久影院优| 麻豆久久久9性大片| 亚洲日本va午夜中文字幕久久 | 久久99精品久久只有精品| 久久亚洲日韩看片无码| 一级做a爰片久久毛片看看| 香蕉久久夜色精品国产2020| 久久久黄色大片| 亚洲人成网亚洲欧洲无码久久| 香蕉aa三级久久毛片| 成人精品一区二区久久久|