- Added a "User:" debug level. These are messages that are intended for the user and are part of normal operation.

- Faster DEBUG/INFO() when they are disabled
- target_read/write_buffer() now uses 16 and 32 bit access for single word aligned requests. Other requests are serviced as quickly as possible.
- *much* faster read/write GDB packets, removing timeout problems.
- GDB read/write packets w/single word aligned 32/16 bit access now use 32/16 bit word access.
- working area can now be changed on the fly. Provides a way to move working area about as MMU is enabled/disabled.
- cleaned up error messages for verify_image.
Thanks Øyvind Harboe

git-svn-id: svn://svn.berlios.de/openocd/trunk@302 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
ntfreak
2008-02-18 14:32:43 +00:00
parent cf9646bda6
commit a92d27afb0
4 changed files with 62 additions and 99 deletions

View File

@@ -43,12 +43,13 @@ void log_setCallback(logCallback c, void *p)
privData = p;
}
static char *log_strings[4] =
static char *log_strings[5] =
{
"User: ",
"Error: ",
"Warning:",
"Info: ",
"Debug: ",
"Debug: "
};
void log_printf(enum log_levels level, const char *file, int line, const char *function, const char *format, ...)
@@ -68,7 +69,7 @@ void log_printf(enum log_levels level, const char *file, int line, const char *f
if (f != NULL)
file = f + 1;
fprintf(log_output, "%s %d %ld %s:%d %s(): %s\n", log_strings[level], count, time(NULL), file, line, function, buffer);
fprintf(log_output, "%s %d %ld %s:%d %s(): %s\n", log_strings[level+1], count, time(NULL), file, line, function, buffer);
fflush(log_output);
va_end(args);

View File

@@ -26,6 +26,9 @@
#include <stdarg.h>
/* logging priorities
* LOG_USER - user messages. Could be anything from information
* to progress messags. These messages do not represent
* incorrect or unexpected behaviour, just normal execution.
* LOG_ERROR - fatal errors, that are likely to cause program abort
* LOG_WARNING - non-fatal errors, that may be resolved later
* LOG_INFO - state information, etc.
@@ -33,6 +36,7 @@
*/
enum log_levels
{
LOG_USER = -1,
LOG_ERROR = 0,
LOG_WARNING = 1,
LOG_INFO = 2,
@@ -53,13 +57,16 @@ extern void log_setCallback(logCallback callback, void *priv);
extern int debug_level;
/* Avoid fn call and building parameter list if we're not outputting the information.
* Matters on feeble CPUs for DEBUG/INFO statements that are involved frequently */
#define DEBUG(expr ...) \
do { \
do { if (debug_level >= LOG_DEBUG) \
log_printf (LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
#define INFO(expr ...) \
do { \
do { if (debug_level >= LOG_INFO) \
log_printf (LOG_INFO, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
@@ -73,6 +80,12 @@ extern int debug_level;
log_printf (LOG_ERROR, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
#define USER(expr ...) \
do { \
log_printf (LOG_USER, __FILE__, __LINE__, __FUNCTION__, expr); \
} while(0)
/* general failures
* error codes < 100
*/