X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fkdebug.c;h=9c210343bc149f03235032d68ff3dc90d7a80aa7;hb=7beb5f7878aa2773badde63fd3dd81d3396e5723;hp=ac90ff038d8f9955b3e26874f9cca4c10d663ce9;hpb=4cc44c9888a0336b9d01121ec0b7ad95f4a76195;p=bertos.git diff --git a/bertos/drv/kdebug.c b/bertos/drv/kdebug.c index ac90ff03..9c210343 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,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], %z bytes", buf, len); + size_t i=0; while (len--) - kprintf("%02X", *buf++); + { + if ((i % 16) == 0) + kputs("\n"); + kprintf("%02X ", *buf++); + } kputchar('\n'); }