RTEMS CPU Kit with SuperCore  4.11.3
Data Structures | Macros | Typedefs | Enumerations | Functions
capture.h File Reference

Capture Engine Component of the RTEMS Measurement and Monitoring System. More...

#include <rtems.h>
#include <rtems/rtems/tasksimpl.h>
Include dependency graph for capture.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rtems_capture_from_s
 Task id and mask for the from trigger. More...
 
struct  rtems_capture_control_s
 Capture control structure for a group of tasks. More...
 
struct  rtems_capture_record_s
 
struct  rtems_capture_task_record_s
 

Macros

#define RTEMS_CAPTURE_TRIGGER_TASKS   (32)
 The number of tasks in a trigger group.
 
#define RTEMS_CAPTURE_CONTROL_FROM_MASK(_s)   (UINT32_C(1) << (RTEMS_CAPTURE_TRIGGER_TASKS - ((_s) + 1)))
 The from_valid mask.
 
#define RTEMS_CAPTURE_WATCH   (1U << 0)
 Control flags.
 
#define RTEMS_CAPTURE_SWITCH   (1 << 0)
 Control triggers.
 
#define RTEMS_CAPTURE_CREATE   (1 << 1)
 
#define RTEMS_CAPTURE_START   (1 << 2)
 
#define RTEMS_CAPTURE_RESTART   (1 << 3)
 
#define RTEMS_CAPTURE_DELETE   (1 << 4)
 
#define RTEMS_CAPTURE_BEGIN   (1 << 5)
 
#define RTEMS_CAPTURE_EXITTED   (1 << 6)
 
#define RTEMS_CAPTURE_TERMINATED   (1 << 7)
 
#define RTEMS_CAPTURE_FROM_TRIGS
 
#define RTEMS_CAPTURE_TO_TRIGS
 
#define RTEMS_CAPTURE_TRACED   (1U << 0)
 Task flags.
 
#define RTEMS_CAPTURE_INIT_TASK   (1U << 1)
 
#define RTEMS_CAPTURE_RECORD_TASK   (1U << 2)
 
#define RTEMS_CAPTURE_REAL_PRI_EVENT_MASK   UINT32_C (0x000000ff)
 The capture record event flags.
 
#define RTEMS_CAPTURE_CURR_PRI_EVENT_MASK   UINT32_C (0x0000ff00)
 
#define RTEMS_CAPTURE_REAL_PRIORITY_EVENT   (0)
 
#define RTEMS_CAPTURE_CURR_PRIORITY_EVENT   (8)
 
#define RTEMS_CAPTURE_EVENT_START   (16)
 
#define RTEMS_CAPTURE_CREATED_BY_EVENT   UINT32_C (0x00010000)
 
#define RTEMS_CAPTURE_CREATED_EVENT   UINT32_C (0x00020000)
 
#define RTEMS_CAPTURE_STARTED_BY_EVENT   UINT32_C (0x00040000)
 
#define RTEMS_CAPTURE_STARTED_EVENT   UINT32_C (0x00080000)
 
#define RTEMS_CAPTURE_RESTARTED_BY_EVENT   UINT32_C (0x00100000)
 
#define RTEMS_CAPTURE_RESTARTED_EVENT   UINT32_C (0x00200000)
 
#define RTEMS_CAPTURE_DELETED_BY_EVENT   UINT32_C (0x00400000)
 
#define RTEMS_CAPTURE_DELETED_EVENT   UINT32_C (0x00800000)
 
#define RTEMS_CAPTURE_TERMINATED_EVENT   UINT32_C (0x01000000)
 
#define RTEMS_CAPTURE_BEGIN_EVENT   UINT32_C (0x02000000)
 
#define RTEMS_CAPTURE_EXITTED_EVENT   UINT32_C (0x04000000)
 
#define RTEMS_CAPTURE_SWITCHED_OUT_EVENT   UINT32_C (0x08000000)
 
#define RTEMS_CAPTURE_SWITCHED_IN_EVENT   UINT32_C (0x10000000)
 
#define RTEMS_CAPTURE_TIMESTAMP   UINT32_C (0x20000000)
 
#define RTEMS_CAPTURE_EVENT_END   (29)
 

Typedefs

typedef uint64_t rtems_capture_time_t
 A capture timestamp. More...
 
typedef struct rtems_capture_from_s rtems_capture_from_t
 Task id and mask for the from trigger. More...
 
typedef struct rtems_capture_control_s rtems_capture_control_t
 Capture control structure for a group of tasks. More...
 
typedef struct rtems_capture_record_s rtems_capture_record_t
 
typedef struct rtems_capture_task_record_s rtems_capture_task_record_t
 
typedef enum rtems_capture_trigger_mode_e rtems_capture_trigger_mode_t
 Capture trigger modes. More...
 
typedef enum rtems_capture_trigger_e rtems_capture_trigger_t
 Capture trigger. More...
 
typedef void(* rtems_capture_timestamp) (rtems_capture_time_t *time)
 Capture timestamp callout handler. More...
 

Enumerations

enum  rtems_capture_trigger_mode_e { rtems_capture_to_any, rtems_capture_from_any, rtems_capture_from_to }
 Capture trigger modes. More...
 
enum  rtems_capture_trigger_e {
  rtems_capture_switch, rtems_capture_create, rtems_capture_start, rtems_capture_restart,
  rtems_capture_delete, rtems_capture_begin, rtems_capture_exitted, rtems_capture_terminated
}
 Capture trigger. More...
 

Functions

rtems_status_code rtems_capture_open (uint32_t size, rtems_capture_timestamp timestamp)
 Capture open. More...
 
rtems_status_code rtems_capture_close (void)
 Capture close. More...
 
rtems_status_code rtems_capture_control (bool enable)
 Capture control trace enable/disable. More...
 
rtems_status_code rtems_capture_monitor (bool enable)
 Capture monitor enable/disable. More...
 
rtems_status_code rtems_capture_flush (bool prime)
 
rtems_status_code rtems_capture_watch_add (rtems_name name, rtems_id id)
 Capture add watch. More...
 
rtems_status_code rtems_capture_watch_del (rtems_name name, rtems_id id)
 Capture delete watch. More...
 
rtems_status_code rtems_capture_watch_ctrl (rtems_name name, rtems_id id, bool enable)
 Capture enable/disable watch. More...
 
rtems_status_code rtems_capture_watch_global (bool enable)
 Capture enable/disable global watch. More...
 
bool rtems_capture_watch_global_on (void)
 Get global watch state. More...
 
rtems_status_code rtems_capture_watch_ceiling (rtems_task_priority ceiling)
 Set watch ceiling. More...
 
rtems_task_priority rtems_capture_watch_get_ceiling (void)
 Get watch ceiling. More...
 
rtems_status_code rtems_capture_watch_floor (rtems_task_priority floor)
 Capture set watch floor. More...
 
rtems_task_priority rtems_capture_watch_get_floor (void)
 Capture set watch floor. More...
 
rtems_status_code rtems_capture_set_trigger (rtems_name from_name, rtems_id from_id, rtems_name to_name, rtems_id to_id, rtems_capture_trigger_mode_t mode, rtems_capture_trigger_t trigger)
 Capture set trigger. More...
 
rtems_status_code rtems_capture_clear_trigger (rtems_name from_name, rtems_id from_id, rtems_name to_name, rtems_id to_id, rtems_capture_trigger_mode_t mode, rtems_capture_trigger_t trigger)
 Capture clear trigger. More...
 
rtems_status_code rtems_capture_read (uint32_t cpu, uint32_t *read, rtems_capture_record_t **recs)
 Capture read records from capture buffer. More...
 
rtems_status_code rtems_capture_release (uint32_t cpu, uint32_t count)
 Capture release records. More...
 
void rtems_capture_time (rtems_capture_time_t *uptime)
 
const char * rtems_capture_event_text (int event)
 Capture get event text. More...
 
void rtems_capture_initialize_task (rtems_tcb *tcb)
 Capture initialize task. More...
 
void rtems_capture_record_task (rtems_tcb *tcb)
 Capture record task. More...
 
rtems_capture_control_trtems_capture_get_control_list (void)
 Capture get control list. More...
 

Detailed Description

Capture Engine Component of the RTEMS Measurement and Monitoring System.

This is the Capture Engine component of the RTEMS Measurement and Monitoring system.