31#ifndef _RTEMS_DEBUGGER_SERVER_h
32#define _RTEMS_DEBUGGER_SERVER_h
37#include <rtems/rtems-debugger.h>
46#define RTEMS_DEBUGGER_NUMOF(_d) (sizeof(_d) / sizeof(_d[0]))
51#define DB_UINT uint32_t
56#define RTEMS_DEBUGGER_SIGNAL_HUP 1
57#define RTEMS_DEBUGGER_SIGNAL_INT 2
58#define RTEMS_DEBUGGER_SIGNAL_QUIT 3
59#define RTEMS_DEBUGGER_SIGNAL_ILL 4
60#define RTEMS_DEBUGGER_SIGNAL_TRAP 5
61#define RTEMS_DEBUGGER_SIGNAL_ABRT 6
62#define RTEMS_DEBUGGER_SIGNAL_EMT 7
63#define RTEMS_DEBUGGER_SIGNAL_FPE 8
64#define RTEMS_DEBUGGER_SIGNAL_KILL 9
65#define RTEMS_DEBUGGER_SIGNAL_BUS 10
66#define RTEMS_DEBUGGER_SIGNAL_SEGV 11
67#define RTEMS_DEBUGGER_SIGNAL_SYS 12
68#define RTEMS_DEBUGGER_SIGNAL_PIPE 13
69#define RTEMS_DEBUGGER_SIGNAL_ALRM 14
70#define RTEMS_DEBUGGER_SIGNAL_TERM 15
71#define RTEMS_DEBUGGER_SIGNAL_URG 16
72#define RTEMS_DEBUGGER_SIGNAL_STOP 17
73#define RTEMS_DEBUGGER_SIGNAL_TSTP 18
74#define RTEMS_DEBUGGER_SIGNAL_CONT 19
79#define RTEMS_DEBUGGER_TIMEOUT_STOP (5 * 1000 * 1000)
84#define RTEMS_DEBUGGER_POLL_WAIT (10000)
89#define RTEMS_DEBUGGER_STACKSIZE (16 * 1024)
94#define RTEMS_DEBUGGER_BUFFER_SIZE (4 * 1024)
99#define RTEMS_DEBUGGER_FLAG_VERBOSE (1 << 0)
100#define RTEMS_DEBUGGER_FLAG_RESET (1 << 1)
101#define RTEMS_DEBUGGER_FLAG_NON_STOP (1 << 2)
102#define RTEMS_DEBUGGER_FLAG_VCONT (1 << 3)
103#define RTEMS_DEBUGGER_FLAG_MULTIPROCESS (1 << 4)
104#define RTEMS_DEBUGGER_FLAG_VERBOSE_LOCK (1 << 5)
105#define RTEMS_DEBUGGER_FLAG_VERBOSE_CMDS (1 << 6)
117typedef struct _Condition_Control rtems_rx_cond;
118typedef struct _Mutex_recursive_Control rtems_rx_mutex;
131 rtems_rx_cond server_cond;
132 volatile bool server_running;
133 volatile bool server_finished;
135 volatile bool events_running;
136 volatile bool events_finished;
143 uint8_t input[RTEMS_DEBUGGER_BUFFER_SIZE];
144 uint8_t output[RTEMS_DEBUGGER_BUFFER_SIZE];
167extern
void rtems_debugger_lock(
void);
172extern
void rtems_debugger_unlock(
void);
177extern
bool rtems_debugger_server_running(
void);
182extern
void rtems_debugger_server_crash(
void);
192extern
bool rtems_debugger_connected(
void);
197extern
bool rtems_debugger_server_events_running(
void);
202extern
void rtems_debugger_server_events_signal(
void);
207extern
bool rtems_debugger_verbose(
void);
212static inline
bool rtems_debugger_server_flag(uint32_t mask)
214 return (rtems_debugger->flags & mask) != 0;
uint32_t rtems_task_priority
Definition: tasks.h:55
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
#define RTEMS_PRINTFLIKE(_format_pos, _ap_pos)
Tells the compiler that this function expects printf()-like arguments.
Definition: basedefs.h:249
User print interface to the bspIO print plug in.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
Definition: rtems-debugger-remote.h:45
Definition: rtems-debugger-server.h:124
Definition: rtems-debugger-target.h:93
Definition: rtems-debugger-threads.h:113