diff --git a/include/rtthread.h b/include/rtthread.h index 76e85b200624c92c5d46e4609247483ce7055108..38f034a3e78040f5f3309ec57fbd81c50692a38c 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -339,7 +339,9 @@ rt_int32_t rt_vsprintf(char *dest, const char *format, va_list arg_ptr); rt_int32_t rt_sprintf(char *buf ,const char *format,...); rt_int32_t rt_snprintf(char *buf, rt_size_t size, const char *format, ...); +#ifdef RT_USING_DEVICE rt_device_t rt_console_set_device(const char* name); +#endif void rt_kprintf(const char *fmt, ...); rt_err_t rt_get_errno(void); diff --git a/src/kservice.c b/src/kservice.c index 029302c1ea423f6180c9301675739844dc63c5d5..149016d75f74957f312c42916ff06d61a63114d4 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -31,7 +31,9 @@ int errno; #else #include #endif +#ifdef RT_USING_DEVICE static rt_device_t _console_device = RT_NULL; +#endif /* * This function will get errno @@ -902,6 +904,7 @@ rt_int32_t rt_sprintf(char *buf ,const char *format,...) return n; } +#ifdef RT_USING_DEVICE /** * This function will set a device as console device. * After set a device to console, all output of rt_kprintf will be @@ -935,6 +938,7 @@ rt_device_t rt_console_set_device(const char* name) return old; } +#endif #if defined(__GNUC__) void rt_hw_console_output(const char* str) __attribute__((weak)); @@ -965,6 +969,7 @@ void rt_kprintf(const char *fmt, ...) va_start(args, fmt); length = vsnprintf(rt_log_buf, sizeof(rt_log_buf), fmt, args); +#ifdef RT_USING_DEVICE if (_console_device == RT_NULL) { rt_hw_console_output(rt_log_buf); @@ -973,7 +978,9 @@ void rt_kprintf(const char *fmt, ...) { rt_device_write(_console_device, 0, rt_log_buf, length); } - +#else + rt_hw_console_output(rt_log_buf); +#endif va_end(args); }