51 #if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__) 60 #if PORT_SUPPORTS_RT == TRUE 80 #if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__) 127 port_lock_from_isr();
132 port_unlock_from_isr();
146 port_lock_from_isr();
151 port_unlock_from_isr();
static NOINLINE void trace_next(void)
Writes a time stamp and increases the trace buffer pointer.
#define chSysGetRealtimeCounterX()
Returns the current value of the system real time counter.
ch_trace_buffer_t trace_buffer
Public trace buffer.
static systime_t chVTGetSystemTimeX(void)
Current system time.
ch_trace_event_t * ptr
Pointer to the buffer front.
void chDbgWriteTrace(void *up1, void *up2)
Adds an user trace record to the trace buffer.
static void chSysLock(void)
Enters the kernel lock state.
system_debug_t dbg
System debug.
struct ch_trace_event_t::@1::@2 sw
Structure representing a context switch.
void _trace_switch(thread_t *ntp, thread_t *otp)
Inserts in the circular debug trace buffer a context switch record.
#define currp
Current thread pointer access macro.
static void chSysUnlock(void)
Leaves the kernel lock state.
void chDbgWriteTraceI(void *up1, void *up2)
Adds an user trace record to the trace buffer.
void _trace_halt(const char *reason)
Inserts in the circular debug trace buffer an halt record.
void chDbgCheckClassI(void)
I-class functions context check.
void chDbgSuspendTrace(uint16_t mask)
Suspends one or more trace events.
struct ch_trace_event_t::@1::@5 user
User trace structure.
uint32_t rtstamp
Accurate time stamp.
void _trace_init(void)
Trace circular buffer subsystem initialization.
uint16_t suspended
Suspended trace sources mask.
struct ch_trace_event_t::@1::@4 halt
Structure representing an halt.
uint32_t state
Switched out thread state.
ch_system_t ch
System data structures.
ch_trace_event_t buffer[CH_DBG_TRACE_BUFFER_SIZE]
Ring buffer.
uint16_t size
Trace buffer size (entries).
tstate_t state
Current thread state.
void * wtobjp
Pointer to a generic "wait" object.
void chDbgResumeTraceI(uint16_t mask)
Resumes one or more trace events.
void chDbgResumeTrace(uint16_t mask)
Resumes one or more trace events.
union ch_thread::@0 u
State-specific fields.
systime_t time
System time stamp of the switch event.
uint32_t type
Record type.
#define CH_DBG_TRACE_BUFFER_SIZE
Trace buffer entries.
void _trace_isr_enter(const char *isr)
Inserts in the circular debug trace buffer an ISR-enter record.
#define CH_CFG_TRACE_HOOK(tep)
Trace hook.
ChibiOS/RT main include file.
void _trace_isr_leave(const char *isr)
Inserts in the circular debug trace buffer an ISR-leave record.
struct ch_trace_event_t::@1::@3 isr
Structure representing an ISR enter.
void chDbgSuspendTraceI(uint16_t mask)
Suspends one or more trace events.
Structure representing a thread.