31 #ifndef _RTEMS_DEBUGGER_TARGET_h 32 #define _RTEMS_DEBUGGER_TARGET_h 36 #include <rtems/rtems-debugger.h> 38 #include "rtems-debugger-threads.h" 47 #define RTEMS_DEBUGGER_TARGET_SWBREAK_NUM 64 52 #define RTEMS_DEBUGGER_TARGET_CAP_SWBREAK (1 << 0) 53 #define RTEMS_DEBUGGER_TARGET_CAP_HWBREAK (1 << 1) 54 #define RTEMS_DEBUGGER_TARGET_CAP_HWWATCH (1 << 2) 59 typedef enum rtems_debugger_target_watchpoint
61 rtems_debugger_target_hw_read,
62 rtems_debugger_target_hw_write,
63 rtems_debugger_target_hw_read_write,
64 rtems_debugger_target_hw_execute
65 } rtems_debugger_target_watchpoint;
70 typedef enum rtems_debugger_target_exc_action
72 rtems_debugger_target_exc_consumed,
73 rtems_debugger_target_exc_cascade,
74 rtems_debugger_target_exc_step,
75 } rtems_debugger_target_exc_action;
80 #define RTEMS_DEBUGGER_TARGET_SWBREAK_MAX_SIZE (4) 83 uint8_t contents[RTEMS_DEBUGGER_TARGET_SWBREAK_MAX_SIZE];
93 const uint8_t* breakpoint;
94 size_t breakpoint_size;
97 jmp_buf access_return;
103 extern int rtems_debugger_target_create(
void);
108 extern int rtems_debugger_target_destroy(
void);
118 extern int rtems_debugger_target_enable(
void);
123 extern int rtems_debugger_target_disable(
void);
128 extern uint32_t rtems_debugger_target_capabilities(
void);
133 extern size_t rtems_debugger_target_reg_num(
void);
138 extern size_t rtems_debugger_target_reg_size(
void);
183 extern int rtems_debugger_target_swbreak_control(
bool insert,
190 extern int rtems_debugger_target_swbreak_insert(
void);
195 extern int rtems_debugger_target_swbreak_remove(
void);
200 extern int rtems_debugger_target_hwbreak_insert(
void);
205 extern int rtems_debugger_target_hwbreak_remove(
void);
210 extern int rtems_debugger_target_hwbreak_control(rtems_debugger_target_watchpoint type,
218 extern rtems_debugger_target_exc_action
241 extern int rtems_debugger_target_start_memory_access(
void);
246 extern void rtems_debugger_target_end_memory_access(
void);
Definition: rtems-debugger-threads.h:86
Definition: rtems-debugger-target.h:89
Definition: rtems-debugger-block.h:45
The set of registers that specifies the complete processor state.
Definition: cpu.h:635
Definition: rtems-debugger-target.h:81