Lido PXA270平台开发板的最新BSP,包括源代码

源代码在线查看: debug.cpp

软件大小: 1971 K
上传用户: tsdtz
关键词: Lido 270 BSP PXA
下载地址: 免注册下载 普通下载 VIP

相关代码

				/***************************************************************************
				 * Name        : debug.cpp
				 * Title       : MBX WinCE driver GPE class
				 * Author(s)   : Imagination Technologies
				 * Created	   : 6th January 2003
				 *
				 * Copyright   : 2003 by Imagination Technologies. All rights reserved.
				 *             : No part of this software, either material or conceptual 
				 *             : may be copied or distributed, transmitted, transcribed,
				 *             : stored in a retrieval system or translated into any 
				 *             : human or computer language in any form by any means,
				 *             : electronic, mechanical, manual or other-wise, or 
				 *             : disclosed to third parties without the express written
				 *             : permission of Imagination Technologies Limited, Unit 8,
				 *             : HomePark Industrial Estate, King's Langley, Hertfordshire,
				 *             : WD4 8LZ, U.K.
				 *
				 * Description : MBX WinCE driver GPE class.
				 *
				 * Platform    : WinCE
				 *
				 * Modifications:-
				 * $Log: debug.cpp $
				 *
				 *
				 ****************************************************************************/
				#include	"precomp.h"
				//#include	"debug.h"
				
				// This constant is the size of the buffer that the printf style formatting
				// is done in. Hope nothing overflows this!
				
				#define MESSAGE_BUFFER_SIZE 1024
				
				#ifdef DEBUG
				
				wchar_t szwBuffer[MESSAGE_BUFFER_SIZE] = L"\0";
				ULONG	ulOffset = 0;
				
				/*****************************************************************************
				 FUNCTION	: 	Dpf
				 PURPOSE	:	
				 PARAMETERS	: 	
				 RETURNS	: 	
				*****************************************************************************/
				void Dpf( LPWSTR pszwFormat, ... )
				{
					// MessageFunction
					// This function formats a message using printf-style formating and
					// then spews it out to the debug logging facility.
				
					// Local variables.
				
					va_list Parameters;
				
					if (ulOffset == 0)
					{
						ulOffset = wsprintf(szwBuffer, L"%s: ", dpCurSettings.lpszName);
					}
				
					va_start(Parameters, pszwFormat);
					_vsnwprintf(&szwBuffer[ulOffset], MESSAGE_BUFFER_SIZE, pszwFormat, Parameters);
					va_end(Parameters);
				
					wcscat(szwBuffer, L"\n");
					OutputDebugString( szwBuffer );
				}
				
				
				/*****************************************************************************
				 FUNCTION	: 	fn_dpf
				 PURPOSE	:	Used for tracing calls to the driver
				 PARAMETERS	: 	
				 RETURNS	: 	
				*****************************************************************************/
				#define BUFF_LEN 128
				static TCHAR ptszStream[BUFF_LEN];
				static char szStore[BUFF_LEN]={0}; // Initialise the first member to 0
				static char szNew[BUFF_LEN];
				static int nLen=0;
				static int nStoreLen=0;
				
				void fn_dpf(PSTR pszFormat, ...)
				{
					va_list vararg_list;
					int nLen;
				
					va_start (vararg_list, pszFormat);
					
					// Note : these are not wide strings
					nLen = vsprintf (szNew, pszFormat, vararg_list);
				
					// Accumulate text until cr or overflow.
					if (nLen > 0)
					{
						if	(		(szNew[nLen-1] == '\r')
								||	(szNew[nLen-1] == '\n')
								||	((nLen+nStoreLen) > BUFF_LEN)
							)
						{
							// Prepare to output
							if ((szNew[nLen-1] == '\r') || (szNew[nLen-1] == '\n'))
							{
								szNew[nLen-1] = '\0';
							}
				
							// Combine and widen
							nLen = wsprintf( ptszStream, L"%hs%hs", szStore, szNew);
				
							// Flush to output
							if (nLen > 0)
							{
								OutputDebugString( ptszStream );
							}
				
							// Start again
							nStoreLen=0;
							nLen=0;
							szStore[0]='\0';
						}
						else
						{
							// Save for later
							strcat(szStore, szNew);
							nStoreLen += nLen;
						}
					}
				
					va_end(vararg_list);
				}
				
				
				#endif //#ifdef DEBUG
				
				
				/********************************** end of file ******************************/
							

相关资源