diff --git a/Core/_Core.h b/Core/_Core.h index 3ce4fc88..1e0b59c2 100644 --- a/Core/_Core.h +++ b/Core/_Core.h @@ -6,7 +6,8 @@ extern "C" { #if defined(DEBUG) - #define debug_printf printf + #define debug_printf SmartOS_printf + extern int SmartOS_printf(const char *format, ...); #else #define debug_printf(format, ...) #endif diff --git a/Kernel/Sys.h b/Kernel/Sys.h index 1fe0db27..3c457dee 100644 --- a/Kernel/Sys.h +++ b/Kernel/Sys.h @@ -26,7 +26,8 @@ extern "C" { #if defined(DEBUG) - #define debug_printf printf + #define debug_printf SmartOS_printf + extern int SmartOS_printf(const char *format, ...); #else #define debug_printf(format, ...) #endif diff --git a/Platform/CortexM/Sys.cpp b/Platform/CortexM/Sys.cpp index 6c46bed3..5f18df1c 100644 --- a/Platform/CortexM/Sys.cpp +++ b/Platform/CortexM/Sys.cpp @@ -371,3 +371,16 @@ void ExitCritical() { __enable_irq(); } uint _REV(uint value) { return __REV(value); } ushort _REV16(ushort value) { return __REV16(value); } + +/******************************** 调试日志 ********************************/ + +int SmartOS_printf(const char* format, ...) +{ + va_list ap; + + va_start(ap, format); + int rs = printf(format, ap); + va_end(ap); + + return rs; +}