X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fkdebug.h;h=18405e5876fd48105f18aa6ad83332b9ea064495;hb=9250b166f2d62d6e38bca6cea5c6210266a12128;hp=3777d3ef974db3cabf66335401418c48dc7e7aa6;hpb=0375780817109b6ab5cd4f36ccf80650b2fe77d5;p=bertos.git diff --git a/drv/kdebug.h b/drv/kdebug.h index 3777d3ef..18405e58 100755 --- a/drv/kdebug.h +++ b/drv/kdebug.h @@ -1,9 +1,9 @@ -/* +/*! * \file * * * \brief Definition of handy debug macros. These macros are no-ops @@ -14,12 +14,28 @@ * \author Bernardo Innocenti */ -/* - * $Log$ - * Revision 1.1 2004/05/23 18:10:11 bernie - * Import drv/ modules. - * - */ +/*#* + *#* $Log$ + *#* Revision 1.6 2004/08/25 14:12:08 rasky + *#* Aggiornato il comment block dei log RCS + *#* + *#* Revision 1.5 2004/08/24 16:19:08 bernie + *#* kputchar(): New public function; Add missing dummy inlines for \!_DEBUG. + *#* + *#* Revision 1.4 2004/07/30 14:26:33 rasky + *#* Semplificato l'output dell'ASSERT + *#* Aggiunta ASSERT2 con stringa di help opzionalmente disattivabile + *#* + *#* Revision 1.3 2004/06/03 11:27:09 bernie + *#* Add dual-license information. + *#* + *#* Revision 1.2 2004/05/23 18:21:53 bernie + *#* Trim CVS logs and cleanup header info. + *#* + *#* Revision 1.1 2004/05/23 18:10:11 bernie + *#* Import drv/ modules. + *#* + *#*/ #ifndef KDEBUG_H #define KDEBUG_H @@ -32,6 +48,7 @@ #if defined(_DEBUG) void kdbg_init(void); + void kputchar(char c); void kdump(const void *buf, size_t len); #ifdef __AVR__ @@ -56,8 +73,15 @@ void __init_wall(long *wall, int size); int __check_wall(long *wall, int size, const char *name, const char *file, int line); - #define THIS_FILE __FILE__ - #define ASSERT(x) ((x) ? 0 : __assert(#x, THIS_FILE, __LINE__)) + #define THIS_FILE __FILE__ + #ifndef CONFIG_KDEBUG_ASSERT_NO_TEXT + #define ASSERT(x) ((x) ? 0 : __assert(#x, THIS_FILE, __LINE__)) + #define ASSERT2(x, help) ((x) ? 0 : __assert(help " (" #x ")", THIS_FILE, __LINE__)) + #else + #define ASSERT(x) ((x) ? 0 : __assert("", THIS_FILE, __LINE__)) + #define ASSERT2(x, help) ASSERT(x) + #endif + #define ASSERT_VALID_PTR(p) ((p >= 0x200) ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__)) #define ASSERT_VALID_PTR_OR_NULL(p) (((p == NULL) || (p >= 0x200)) ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__)) #define TRACE kprintf("%s()\n", __FUNCTION__) @@ -73,17 +97,23 @@ #else /* !_DEBUG */ - #define ASSERT(x) - #define ASSERT_VALID_PTR(p) - #define ASSERT_VALID_PTR_OR_NULL(p) - #define TRACE do {} while(0) - #define TRACEMSG(x,...) do {} while(0) - #define DB(x) + #define ASSERT(x) do {} while(0) + #define ASSERT2(x, help) do {} while(0) + #define ASSERT_VALID_PTR(p) do {} while(0) + #define ASSERT_VALID_PTR_OR_NULL(p) do {} while(0) + #define TRACE do {} while(0) + #define TRACEMSG(x,...) do {} while(0) + #define DB(x) /* nothing */ #define DECLARE_WALL(name, size) #define INIT_WALL(name) #define CHECK_WALL(name) + INLINE void kdbg_init(void) { /*nop*/ } + INLINE void kputchar(UNUSED(char, c)) { /*nop*/ } + INLINE void kputs(UNUSED(const char*, str)) { /*nop*/ } + INLINE void kprintf(UNUSED(const char*, fmt), ...) { /*nop*/ } + #endif /* !_DEBUG */ #endif /* KDEBUG_H */