⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysdebug.h

📁 一个操作系统源代码 用于嵌入式设备 在Vc++环境下仿真 成功移植到多款处理器上
💻 H
字号:
/*************************************************************************
 *
 *  Copyright (C) Asic Center. 2001
 *  All Rights Reserved
 *
 *  Filename : debug.h
 *  Function : Debug information of IrisPhone System ProtoType
 *  Revision :
 *          2001/10/10  Pessia      Create this file
 *
 ************************************************************************/
#ifndef _DEBUG_PROTOTYPE_
#define _DEBUG_PROTOTYPE_

#include <stdio.h>
#include <stdlib.h>

#include <kernel\ros33\ros33.h>
//#include <sys\sysusr.h>
//#include <sys\key.h>
//#include <sys\pen.h>

/* if ENABLE_DEBUG_OUT is defined, functions will be enabled */
//#define ENABLE_SYS_DEBUG_OUT
//#define ENABLE_APP_DEBUG_OUT

#define ENABLE_SYSMEM_DEBUG_OUT			0
#define ENABLE_SYSMSG_DEBUG_OUT			0
#define ENABLE_SYSFLAG_DEBUG_OUT		0

#define ENABLE_SYSMSG_STATISTIC			0
#define ENABLE_SYSFLG_STATISTIC			0
#define ENABLE_SYSCALL_STATISTIC		0

#define ENABLE_DATABASE_DEBUG_OUT		0

#ifdef SIM_ON_PC
#define ENABLE_SIM_DEBUG_OUT			1
#else
#define ENABLE_SIM_DEBUG_OUT			0
#endif

extern const char emsg_tskid[];
extern void AppendDebugLogString( char *text, FILE *file );
extern FILE *DebugLogFile;

#define findtskname(id)	((id<TASKNUM && id>0)?(gSysTcbTbl[id-1].description->desp->name):emsg_tskid)

/* System Debugging */
#ifdef ENABLE_SYS_DEBUG_OUT
#define panic(str, var)  printf(str, var)
#else //not define ENABLE_DEBUG_OUT
#define panic(str, var)
#endif

/* User Debugging */
#ifdef ENABLE_APP_DEBUG_OUT


#if ENABLE_SIM_DEBUG_OUT
#define dbgprintf(str)	AppendDebugLogString(str, DebugLogFile)
#else
#define dbgprintf(str) printf(str)
#endif

#define dbgoutput(str, var)	\
{\
	char debugstr[80];\
	sprintf( debugstr, (str),(var));\
	dbgprintf(debugstr);\
}

#define _dbgout(str)	dbgprintf(#str)
#define dbgassert(p)	((p) ? 	(void)0 : \
								(void) _dbgout(Assertion failed:  ##p##, file ##__FILE__## , line  ##__LINE__## \n ))
			

#else //not define ENABLE_DEBUG_OUT

#define dbgprintf(str)
#define dbgassert(p)
#define dbgoutput(str, var)

#endif

//-----------------------------------------------------------------------
// mem debug
#if ENABLE_SYSMEM_DEBUG_OUT		// enable mem debug

#include <sys\sysusr.h>

extern long gDebugTaskMem[TASKNUM];

#define memdbgprintf	dbgprintf
#define memdbgoutput	dbgoutput
#define _memdbgout		_dbgout
#define memdbgassert	dbgassert

#else // disable mem debug

#define memdbgprintf(str)
#define memdbgoutput(str, var)
#define memdbgassert(p)
#define _memdbgout(str)

#endif	// mem debug

//--------------------------------------------------------------
// message debug
#if ENABLE_SYSMSG_DEBUG_OUT		// enable event flag debug

#define msgdbgprintf	dbgprintf
#define msgdbgoutput	dbgoutput
#define _msgdbgout		_dbgout
#define msgdbgassert	dbgassert

#else // disable event flag debug

#define msgdbgprintf(str)
#define msgdbgoutput(str, var)
#define msgdbgassert(p)
#define _msgdbgout(str)

#endif	// event flag debug

//--------------------------------------------------------------
// event flag  debug
#if ENABLE_SYSFLAG_DEBUG_OUT		// enable event flag debug

#define flgdbgprintf	dbgprintf
#define flgdbgoutput	dbgoutput
#define _flgdbgout		_dbgout
#define flgdbgassert	dbgassert

#else // disable event flag debug

#define flgdbgprintf(str)
#define flgdbgoutput(str, var)
#define flgdbgassert(p)
#define _flgdbgout(str)

#endif	// event flag debug

//--------------------------------------------------------------------
// message length statistic
#if ENABLE_SYSMSG_STATISTIC		// enable message statistic

typedef struct
{
	long	cur;
	long	max;
}SYSMSG_STAT;

extern SYSMSG_STAT gSysMsgSta[MLBX_NUM];

#endif	// message length statistic

//--------------------------------------------------------------------
// event statistic
#if ENABLE_SYSFLG_STATISTIC		// enable event statistic

typedef unsigned long	SYSFLG_STAT;

extern SYSFLG_STAT gSysFlgSta[FLG_NUM];

#endif	// event statistic

//-------------------------------------------------------------
// syscall statistic
#if ENABLE_SYSCALL_STATISTIC
typedef struct
{
	char	*name;
	long	sta;
}SYSCALL_STAT;

#define SYSCAL_NUM	63

extern SYSCALL_STAT gSyscallSta[];

#endif

//--------------------------------------------------------------
// database debug
#if ENABLE_DATABASE_DEBUG_OUT		// enable database debug

#define dbdbgprintf		dbgprintf
#define dbdbgoutput		dbgoutput
#define _dbdbgout		_dbgout
#define dbdbgassert		dbgassert

#else // disable database debug

#define dbdbgprintf(str)
#define dbdbgoutput(str, var)
#define dbdbgassert(p)
#define _dbdbgout(str)

#endif	// event database debug

#endif /* _DEBUG_PROTOTYPE_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -