leonbare_debug.h

来自「这是leon3处理器的交叉编译链」· C头文件 代码 · 共 62 行

H
62
字号
#ifndef __LEONBARE_KERNEL_DEBUG_H__#define __LEONBARE_KERNEL_DEBUG_H__#include <asm-leon/leondbg.h>//#define LBDEBUG_DO_DEBUG//#define LBDEBUG_DO_ASSERT#define LBDEBUG_ASSERT_NR (1<<0)#define LBDEBUG_FNCALL_NR (1<<1)#define LBDEBUG_FNEXIT_NR (1<<2)#define LBDEBUG_SCHED_NR (1<<3)#define LBDEBUG_QUEUE_NR (1<<4)#define LBDEBUG_PRINTF leonbare_debug_printf#ifdef LBDEBUG_DO_DEBUGextern int leonbare_debug;# define PDEBUG_FLAGS_CHECK(c) ((c)&leonbare_debug)# define PDEBUG_FLAGS_SET(c) leonbare_debug |= c#else# define PDEBUG_FLAGS_CHECK(c) 0# define PDEBUG_FLAGS_SET(c) #endif#ifdef LBDEBUG_DO_DEBUG# define LBDEBUG(x, fmt, args...) do { if (PDEBUG_FLAGS_CHECK(x)) { LBDEBUG_PRINTF(fmt,args); } } while(0)#else# define LBDEBUG(x, fmt, args...) #endif#ifdef LBDEBUG_DO_ASSERT# define LBPASSERT(x, fmt, args...) if (!(x)) { LBDEBUG_PRINTF(fmt,args); while(1); }#else# define LBPASSERT(x, fmt, args...) #endif#define LBDEBUG_HEADER(code)                                                    \  if (PDEBUG_FLAGS_CHECK(code)) {                                               \    register unsigned int _GETSP asm("sp");                                     \    LBDEBUG_PRINTF("[sp:%08x self(%08x):", _GETSP, LEONBARE_KR_CURRENT);        \    LBDEBUG_PRINTF("%10s",LEONBARE_TH_NAME_DBG(LEONBARE_KR_CURRENT));           \    LBDEBUG_PRINTF(" %03d @ %28s()]:" , __LINE__,__FUNCTION__); \  }#define LBDEBUG_HEADER_PRINTF(code,fmt,args...)                                 \  if (PDEBUG_FLAGS_CHECK(code)) {                                               \    LBDEBUG_HEADER(code);                                                       \    LBDEBUG_PRINTF(fmt,args);                                                   \  }#define LBDEBUG_FNCALL LBDEBUG_HEADER_PRINTF(LBDEBUG_FNCALL_NR,"enter\n",0)#define LBDEBUG_FNEXIT LBDEBUG_HEADER_PRINTF(LBDEBUG_FNEXIT_NR,"exit\n",0)#ifndef __ASSEMBLER__int leonbare_debug_printf(const char *fmt, ...);#endif#endif

⌨️ 快捷键说明

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