32 #ifndef __CAPTUREIMPL_H_ 33 #define __CAPTUREIMPL_H_ 46 #define RTEMS_CAPTURE_INIT (1u << 0) 47 #define RTEMS_CAPTURE_ON (1U << 1) 48 #define RTEMS_CAPTURE_NO_MEMORY (1U << 2) 49 #define RTEMS_CAPTURE_TRIGGERED (1U << 3) 50 #define RTEMS_CAPTURE_GLOBAL_WATCH (1U << 4) 51 #define RTEMS_CAPTURE_ONLY_MONITOR (1U << 5) 56 #define RTEMS_CAPTURE_OVERFLOW (1U << 0) 57 #define RTEMS_CAPTURE_READER_ACTIVE (1U << 1) 58 #define RTEMS_CAPTURE_READER_WAITING (1U << 2) 156 static void *rtems_capture_append_to_record(
void* rec,
186 #define rtems_capture_begin_add_record( _task, _events, _size, _rec) \ 188 rtems_interrupt_lock_context _lock_context; \ 189 *_rec = rtems_capture_record_open( _task, _events, _size, &_lock_context ); 202 static inline void *rtems_capture_append_to_record(
void* rec,
207 memcpy( ptr, data, size );
218 #define rtems_capture_end_add_record( _rec ) \ 219 rtems_capture_record_close( _rec, &_lock_context ); \ void rtems_capture_get_time(rtems_capture_time_t *time)
Capture returns the current time.
Definition: capture.c:158
void rtems_capture_print_record_capture(uint32_t cpu, rtems_capture_record_t *rec, uint64_t diff)
Capture print capture record.
Definition: capture_support.c:105
uint32_t rtems_capture_get_flags(void)
Capture get flags.
Definition: capture.c:143
rtems_status_code rtems_capture_user_extension_close(void)
Capture user extension close.
Definition: capture_user_extension.c:125
Capture Engine Component of the RTEMS Measurement and Monitoring System.
void rtems_capture_print_trace_records(int total, bool csv)
Capture print trace records.
Definition: capture_support.c:138
void rtems_capture_set_flags(uint32_t mask)
Capture set flags.
Definition: capture.c:148
void rtems_capture_record_close(void *rec, rtems_interrupt_lock_context *lock_context)
Capture record close.
Definition: capture.c:488
rtems_status_code
Classic API Status.
Definition: status.h:46
uint64_t rtems_capture_time_t
A capture timestamp.
Definition: capture.h:61
void * rtems_capture_record_open(rtems_tcb *task, uint32_t events, size_t size, rtems_interrupt_lock_context *lock_context)
Capture record open.
Definition: capture.c:454
int rtems_capture_get_extension_index(void)
Capture get extension index.
Definition: capture.c:138
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
bool rtems_capture_trigger(rtems_tcb *ft, rtems_tcb *tt, uint32_t events)
Capture trigger.
Definition: capture.c:498
void rtems_capture_print_timestamp(uint64_t uptime)
Capture print timestamp.
Definition: capture_support.c:56
void rtems_capture_print_record_task(uint32_t cpu, rtems_capture_record_t *rec)
Capture print record task.
Definition: capture_support.c:76
void rtems_capture_print_watch_list(void)
Capture print watch list.
Definition: capture_support.c:243
bool rtems_capture_filter(rtems_tcb *task, uint32_t events)
Capture filter.
Definition: capture.c:420
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
rtems_status_code rtems_capture_user_extension_open(void)
Capture user extension open.
Definition: capture_user_extension.c:104
void rtems_capture_set_extension_index(int index)
Capture set extension index.
Definition: capture.c:133
Definition: capture.h:154