12#ifndef CMSIS_PLUS_DIAG_TRACE_H_
13#define CMSIS_PLUS_DIAG_TRACE_H_
17#if defined(__cplusplus)
30#if defined(__cplusplus)
49inline void __attribute__ ((always_inline))
52#if defined(__ARM_EABI__)
53 __asm__
volatile (
"bkpt 0");
59#if defined(__cplusplus)
98 write (
const void* buf, std::size_t nbyte);
110 printf (
const char* format, ...);
121 vprintf (
const char* format, std::va_list args);
131 puts (
const char* s);
168 inline void __attribute__ ((always_inline))
179#if defined(__cplusplus)
216#if defined(__cplusplus)
224#if defined(__cplusplus)
236 write (
const void* buf, std::size_t nbyte);
241 printf (
const char* format, ...);
244 vprintf (
const char* format, std::va_list args);
247 puts (
const char* s);
257 inline void __attribute__ ((always_inline))
262#pragma GCC diagnostic push
263#if defined(__clang__)
264#pragma clang diagnostic ignored "-Wunused-parameter"
265#elif defined(__GNUC__)
266#pragma GCC diagnostic ignored "-Wunused-parameter"
269 inline ssize_t __attribute__ ((always_inline))
270 write (
const void* buf, std::size_t nbyte)
272 return static_cast<ssize_t
> (nbyte);
275 inline void __attribute__ ((always_inline))
280 inline int __attribute__ ((always_inline))
281 printf (
const char* format, ...)
286 inline int __attribute__ ((always_inline))
287 vprintf (
const char* format, std::va_list args)
292 inline int __attribute__ ((always_inline))
298 inline int __attribute__ ((always_inline))
304 inline void __attribute__ ((always_inline))
309#pragma GCC diagnostic pop
316#if defined(__cplusplus)
346#if defined(__cplusplus)
350inline void __attribute__ ((always_inline))
355#pragma GCC diagnostic push
356#if defined(__clang__)
357#pragma clang diagnostic ignored "-Wunused-parameter"
358#elif defined(__GNUC__)
359#pragma GCC diagnostic ignored "-Wunused-parameter"
362#pragma GCC diagnostic push
363#if defined(__clang__)
364#pragma clang diagnostic ignored "-Wold-style-cast"
365#elif defined(__GNUC__)
366#if defined(__cplusplus)
367#pragma GCC diagnostic ignored "-Wold-style-cast"
371inline ssize_t __attribute__ ((always_inline))
374 return (ssize_t)(nbyte);
377inline void __attribute__ ((always_inline))
382#pragma GCC diagnostic pop
384inline int __attribute__ ((always_inline))
390inline int __attribute__ ((always_inline))
396inline int __attribute__ ((always_inline))
402inline int __attribute__ ((always_inline))
408inline void __attribute__ ((always_inline))
413#pragma GCC diagnostic pop
int puts(const char *s)
Write the string and a line terminator to the trace device.
int vprintf(const char *format, std::va_list args)
Write a formatted variable arguments list to the trace device.
int printf(const char *format,...)
Write a formatted string to the trace device.
int putchar(int c)
Write the single character to the trace device.
void dump_args(int argc, char *argv[])
Write the argv[] array to the trace device.
void dbg_bkpt(void)
Insert a BKPT0 for debugger usage.
ssize_t write(const void *buf, std::size_t nbyte)
Write the given number of bytes to the trace output channel.
void flush(void)
Flush the output.
int trace_vprintf(const char *format, va_list args)
void trace_initialize(void)
void trace_dbg_bkpt(void)
Insert a BKPT0 for debugger usage.
void trace_dump_args(int argc, char *argv[])
int trace_printf(const char *format,...)
ssize_t trace_write(const void *buf, size_t nbyte)
int trace_puts(const char *s)