Go to the documentation of this file.
51 #if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__)
60 #if PORT_SUPPORTS_RT == TRUE
79 #if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__)
91 tbp->
suspended = (uint16_t)~CH_DBG_TRACE_MASK;
245 currcore->trace_buffer.suspended |= mask;
273 currcore->trace_buffer.suspended &= ~mask;
#define chVTGetSystemTimeX()
Current system time.
static NOINLINE void trace_next(os_instance_t *oip)
Writes a time stamp and increases the trace buffer pointer.
void chTraceResumeI(uint16_t mask)
Resumes one or more trace events.
#define currcore
Access to current core's instance structure.
void chTraceWriteI(void *up1, void *up2)
Adds an user trace record to the trace buffer.
#define CH_DBG_TRACE_BUFFER_SIZE
Trace buffer entries.
trace_buffer_t trace_buffer
Trace buffer.
void __trace_halt(const char *reason)
Inserts in the circular debug trace buffer an halt record.
System instance data structure.
#define NOINLINE
Makes functions not inlineable.
static void port_unlock_from_isr(void)
Kernel-unlock action from an interrupt handler.
struct trace_event_t::@2::@3 sw
Structure representing a context switch.
struct trace_event_t::@2::@5 isr
Structure representing an ISR enter.
#define chSysGetRealtimeCounterX()
Returns the current value of the system real time counter.
uint16_t size
Trace buffer size (entries).
trace_event_t buffer[CH_DBG_TRACE_BUFFER_SIZE]
Ring buffer.
struct trace_event_t::@2::@4 rdy
Structure representing a thread becoming ready.
uint32_t rtstamp
Accurate time stamp.
systime_t time
System time stamp of the switch event.
Structure representing a thread.
uint32_t type
Record type.
#define CH_CFG_TRACE_HOOK(tep)
Trace hook.
void chTraceSuspend(uint16_t mask)
Suspends one or more trace events.
union ch_thread::@1 u
State-specific fields.
uint32_t state
Switched out thread state.
void * wtobjp
Pointer to a generic "wait" object.
struct trace_event_t::@2::@6 halt
Structure representing an halt.
void chTraceResume(uint16_t mask)
Resumes one or more trace events.
static void port_lock_from_isr(void)
Kernel-lock action from an interrupt handler.
void __trace_isr_leave(const char *isr)
Inserts in the circular debug trace buffer an ISR-leave record.
tstate_t state
Current thread state.
void __trace_isr_enter(const char *isr)
Inserts in the circular debug trace buffer an ISR-enter record.
void __trace_ready(thread_t *tp, msg_t msg)
Inserts in the circular debug trace buffer a ready record.
void chTraceWrite(void *up1, void *up2)
Adds an user trace record to the trace buffer.
struct trace_event_t::@2::@7 user
User trace structure.
uint16_t suspended
Suspended trace sources mask.
void __trace_object_init(trace_buffer_t *tbp)
Circular trace buffer initialization.
trace_event_t * ptr
Pointer to the buffer front.
void __trace_switch(thread_t *ntp, thread_t *otp)
Inserts in the circular debug trace buffer a context switch record.
#define chSysUnlock()
Leaves the kernel lock state.
void chTraceSuspendI(uint16_t mask)
Suspends one or more trace events.
#define chSysLock()
Enters the kernel lock state.