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

📄 trace.h

📁 一个实时操作系统的源代码。包括任务的调度机制、文件系统等
💻 H
字号:
/*
===============================================================================
| COPYRIGHT (C) 2003-2007 Haishen Ruan, All rights reserved.
| SUMMARY:
|   Macros and prototypes for the tracing system.
|
|
| LICENSE INFORMATION
|   RS-RTOS is free software; you can redistribute it and/or modify it under
|   terms of the GNU General Public License as published by the
|   Free Software Foundation; either version 2, or (at your option) any
|   later version.
|
|   RS-RTOS is distributed in the hope that it will be useful,
|   but WITHOUT ANY WARRANTY; without even the implied warranty of
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|   General Public License for more details.
|
|   You should have received a copy of the GNU General Public License
|   along with RS-RTOS; see file COPYING. If not, write to the Free Software
|   Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
|   As a special exception, including RS-RTOS header files in a file,
|   instantiating RS-RTOS generics or templates, or linking other files
|   with RS-RTOS objects to produce an executable application, does not
|   by itself cause the resulting executable application to be covered
|   by the GNU General Public License. This exception does not
|   however invalidate any other reasons why the executable file might be
|   covered by the GNU Public License.
|
|
| DESCRIPTION:
|   See http://www.RS-RTOS.org for documentation, latest information, license
|   and contact details.
|   email:ruanhaishen@gmail.com
=============================================================================*/
#ifndef __TRACE_H__
#define __TRACE_H__

#ifdef __cplusplus
extern "C" {
#endif
/*===========================================================================*/
typedef void* (*P_TR)(const char *, ...);

#define __ui_writec(s, count)   __write(s, count)

#if CFG_DEBUG > 0
#define RSI_TRACE           __trace("%s(%d): ",__FILE__,__LINE__)
#define RSI_ASSERT(x)       assert(x)
/*
#define RSI_ASSERT(x) \
    do { \
        if (!(x)) { \
            printk("\n%s %s (%d)", "!! ASSERT FAIL:", __FILE__, __LINE__); \
            kernel_lock(); \
            for (;;); \
        } \
    } while (0)
*/
#else
#define RSI_TRACE(x)        RSI_MPT
#define RSI_ASSERT(x)       RSI_MPT
#endif

#if CFG_DUMP_BUFFSZ > 0
void printk(const char *fmt, ...);
#else
#define printk
#endif

void __dump(const char* file, int line);
P_TR __trace(const char *fmt, ...);
void __write(const char *s, int count);

/*===========================================================================*/
#ifdef __cplusplus
} /* end of extern "C" */
#endif

#endif

⌨️ 快捷键说明

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