X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fkdebug.c;h=2125e2a14a2d66ab1880d35775b7f5ccaf037304;hb=2053cc3e6aa26c20a8511ad7148dd704b8e0891e;hp=37ae5ff98630591bdf64f7971a9c487a2efbc68b;hpb=6eb6ebb5ae5953a27977f0ef66a36344462b949a;p=bertos.git diff --git a/bertos/drv/kdebug.c b/bertos/drv/kdebug.c index 37ae5ff9..2125e2a1 100644 --- a/bertos/drv/kdebug.c +++ b/bertos/drv/kdebug.c @@ -28,12 +28,10 @@ * * Copyright 2003, 2004, 2005, 2006, 2007 Develer S.r.l. (http://www.develer.com/) * Copyright 2000, 2001, 2002 Bernie Innocenti - * * --> * * \brief General pourpose debug support for embedded systems (implementation). * - * \version $Id$ * \author Bernie Innocenti * \author Stefano Fedrigo */ @@ -43,7 +41,6 @@ #include #include -#include #include #include @@ -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'); }