X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fdebug.h;h=efa26e18907a8102699d3ca125cf099abf43dbf3;hb=183859226be37f23232f080b9e7457113a0faeb7;hp=2fefc1b1468c68ed509503ec52c67abfc428c4c2;hpb=85760a6e32e79740c1af4ca58710478bebb48cf6;p=bertos.git diff --git a/bertos/cfg/debug.h b/bertos/cfg/debug.h index 2fefc1b1..efa26e18 100644 --- a/bertos/cfg/debug.h +++ b/bertos/cfg/debug.h @@ -30,13 +30,16 @@ * * --> * + * \defgroup debug Debugging facilities and macros + * \ingroup core + * \{ + * * \brief Simple debug facilities for hosted and embedded C/C++ applications. * * Debug output goes to stderr in hosted applications. * Freestanding (AKA embedded) applications use \c drv/kdebug.c to output * diagnostic messages to a serial terminal or a JTAG debugger. * - * \version $Id$ * \author Bernie Innocenti * * $WIZ$ module_name = "debug" @@ -161,13 +164,20 @@ #endif /* !CPU_HARVARD */ #if !CONFIG_KDEBUG_ASSERT_NO_TEXT + /** + * Assert a pre-condition on code. + */ #define ASSERT(x) ((void)(LIKELY(x) ? 0 : __bassert(#x, THIS_FILE, __LINE__))) + /** + * Assert a pre-condition and give explanation message when assert fails + */ #define ASSERT2(x, help) ((void)(LIKELY(x) ? 0 : __bassert(help " (" #x ")", THIS_FILE, __LINE__))) #else #define ASSERT(x) ((void)(LIKELY(x) ? 0 : __bassert("", THIS_FILE, __LINE__))) #define ASSERT2(x, help) ((void)ASSERT(x)) #endif + #define IS_VALID_PTR(p) (LIKELY((void *)(p) >= (void *)CPU_RAM_START)) /** * Check that the given pointer is either NULL or pointing to valid memory. * @@ -177,8 +187,8 @@ * * \see ASSERT_VALID_PTR_OR_NULL() */ - #define ASSERT_VALID_PTR(p) ((void)(LIKELY((void *)(p) >= (void *)CPU_RAM_START) \ - ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__))) + #define ASSERT_VALID_PTR(p) (IS_VALID_PTR(p) \ + ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__)) /** * Check that the given pointer is not pointing to invalid memory. @@ -284,6 +294,7 @@ #define ASSERT(x) ((void)0) #endif /* ASSERT */ #define ASSERT2(x, help) ((void)0) + #define IS_VALID_PTR(p) (1) #define ASSERT_VALID_PTR(p) ((void)0) #define ASSERT_VALID_PTR_OR_NULL(p) ((void)0) #define ASSERT_VALID_OBJ(_t, _o) ((void)0) @@ -325,4 +336,6 @@ #endif /* _DEBUG */ +/** \} */ // defgroup debug + #endif /* BERTOS_DEBUG_H */