X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fkdebug.c;h=2125e2a14a2d66ab1880d35775b7f5ccaf037304;hb=8ad8e5d325736480a881a7f30bd757f96b87376e;hp=37192dd5b58e5eb57df1a163186654b86cd9ea4c;hpb=eb8b43262e8b6d98f3af877a86c142a83a1c6ce5;p=bertos.git diff --git a/bertos/drv/kdebug.c b/bertos/drv/kdebug.c index 37192dd5..2125e2a1 100644 --- a/bertos/drv/kdebug.c +++ b/bertos/drv/kdebug.c @@ -27,14 +27,12 @@ * the GNU General Public License. * * Copyright 2003, 2004, 2005, 2006, 2007 Develer S.r.l. (http://www.develer.com/) - * Copyright 2000, 2001, 2002 Bernardo Innocenti - * + * Copyright 2000, 2001, 2002 Bernie Innocenti * --> * * \brief General pourpose debug support for embedded systems (implementation). * - * \version $Id$ - * \author Bernardo Innocenti + * \author Bernie Innocenti * \author Stefano Fedrigo */ @@ -43,12 +41,11 @@ #include #include -#include #include #include #include /* for _formatted_write() */ -#include +#include #ifdef _DEBUG @@ -58,9 +55,10 @@ #if OS_HOSTED - #include + #include // write() + #define KDBG_WAIT_READY() do { /*nop*/ } while(0) - #define KDBG_WRITE_CHAR(c) putc((c), stderr) + #define KDBG_WRITE_CHAR(c) do { char __c = (c); write(STDERR_FILENO, &__c, sizeof(__c)); } while(0) #define KDBG_MASK_IRQ(old) do { (void)(old); } while(0) #define KDBG_RESTORE_IRQ(old) do { /*nop*/ } while(0) typedef char kdbg_irqsave_t; /* unused */ @@ -276,8 +274,14 @@ void kdump(const void *_buf, size_t len) { const unsigned char *buf = (const unsigned char *)_buf; + kprintf("Dumping buffer at addr [%p], %zu bytes", buf, len); + size_t i=0; while (len--) - kprintf("%02X", *buf++); + { + if ((i++ % 16) == 0) + kputs("\n"); + kprintf("%02X ", *buf++); + } kputchar('\n'); }