47 #define DEBUG_PRINT(...) \
49 if ((thread_get_active() == NULL) || \
50 (thread_get_active()->stack_size >= \
51 THREAD_EXTRA_STACKSIZE_PRINTF)) { \
52 printf(__VA_ARGS__); \
55 puts("Cannot debug, stack too small. Consider using DEBUG_PUTS()."); \
59 #define DEBUG_PRINT(...) printf(__VA_ARGS__)
78 #define DEBUG_BREAKPOINT(val) ARCHITECTURE_BREAKPOINT(val)
80 #define DEBUG_BREAKPOINT(val) (void)0
91 #if !defined(ENABLE_DEBUG) || defined(DOXYGEN)
92 #define ENABLE_DEBUG 0
101 # if defined(__cplusplus) && defined(__GNUC__)
102 # define DEBUG_FUNC __PRETTY_FUNCTION__
103 # elif __STDC_VERSION__ >= 199901L
104 # define DEBUG_FUNC __func__
106 # define DEBUG_FUNC __FUNCTION__
108 # define DEBUG_FUNC ""
125 #define DEBUG(...) do { if (ENABLE_DEBUG) { DEBUG_PRINT(__VA_ARGS__); } } while (0)
133 #define DEBUG_PUTS(str) do { if (ENABLE_DEBUG) { puts(str); } } while (0)
142 #define DEBUG_EXTRA_STACKSIZE THREAD_EXTRA_STACKSIZE_PRINTF
144 #define DEBUG_EXTRA_STACKSIZE (0)
Platform-independent access to architecture details.
Scheduler API definition.
stdio wrapper to extend the C libs stdio