OpenOCD
|
Go to the source code of this file.
Data Structures | |
struct | ecos_params |
struct | ecos_thread_state |
struct | symbols |
Macros | |
#define | ECOS_CORTEXM_BASE_NUMREGS (ARMV7M_NUM_CORE_REGS) |
#define | ECOS_MAX_THREAD_COUNT (4095) |
#define | ECOS_NUM_PARAMS ARRAY_SIZE(ecos_params_list) |
#define | ECOS_THREAD_NAME_STR_SIZE (200) |
#define | ECOSSYM(_n, _o, _t) { .name = _n, .optional = (_o), .target_names = _t } |
#define | XMLENTRY(_c, _s) { .xc = (_c), .rs = (_s), .rlen = (sizeof(_s) - 1) } |
Functions | |
static int | ecos_check_app_info (struct rtos *rtos, struct ecos_params *param) |
static int | ecos_create (struct target *target) |
static bool | ecos_detect_rtos (struct target *target) |
static bool | ecos_escape_string (const char *raw, char *out, size_t limit) |
Escape any XML reserved characters in a string. More... | |
static int | ecos_get_symbol_list_to_lookup (struct symbol_table_elem *symbol_list[]) |
static int | ecos_get_thread_reg_list (struct rtos *rtos, int64_t thread_id, struct rtos_reg **reg_list, int *num_regs) |
static int | ecos_packet_hook (struct connection *connection, const char *packet, int packet_size) |
static int | ecos_stack_layout_arm (struct rtos *rtos, struct ecos_params *param, int64_t stack_ptr, const struct rtos_register_stacking **si) |
static int | ecos_stack_layout_cortexm (struct rtos *rtos, struct ecos_params *param, int64_t stack_ptr, const struct rtos_register_stacking **si) |
static int | ecos_update_threads (struct rtos *rtos) |
static symbol_address_t | ecos_value (struct rtos *rtos, unsigned int idx) |
Variables | |
static struct ecos_params | ecos_params_list [] |
const struct rtos_type | ecos_rtos |
static const struct symbols | ecos_symbol_list [] |
static const struct ecos_thread_state | ecos_thread_reasons [] |
static struct stack_register_offset | rtos_ecos_regoff_arm [] |
static struct stack_register_offset | rtos_ecos_regoff_cortexm [] |
static struct rtos_register_stacking | rtos_ecos_stacking |
static const char *const | target_arm [] |
static const char *const | target_cortex_m [] |
struct { | |
size_t rlen | |
const char * rs | |
char xc | |
} | xmlchars [] |
#define ECOS_CORTEXM_BASE_NUMREGS (ARMV7M_NUM_CORE_REGS) |
#define ECOS_NUM_PARAMS ARRAY_SIZE(ecos_params_list) |
#define ECOS_THREAD_NAME_STR_SIZE (200) |
#define ECOSSYM | ( | _n, | |
_o, | |||
_t | |||
) | { .name = _n, .optional = (_o), .target_names = _t } |
enum ecos_reglist_cortexm |
enum ecos_symbol_values |
|
static |
Definition at line 536 of file eCos.c.
References symbol_table_elem::address, ARRAY_SIZE, debug_level, ecos_symbol_list, ECOS_VAL_COMMON_THREAD_ID_OFF, ECOS_VAL_COMMON_THREAD_ID_SIZE, ECOS_VAL_COMMON_THREAD_NAME_OFF, ECOS_VAL_COMMON_THREAD_NEXT_OFF, ECOS_VAL_COMMON_THREAD_NEXT_SIZE, ECOS_VAL_COMMON_THREAD_STACK_OFF, ECOS_VAL_COMMON_THREAD_STATE_OFF, ECOS_VAL_COMMON_THREAD_STATE_SIZE, ecos_value(), ERROR_OK, ecos_params::flush_common, LOG_DEBUG, LOG_LVL_DEBUG, LOG_WARNING, NULL, symbol_table_elem::optional, ecos_params::pointer_width, ecos_params::stacking_info, ecos_params::state_width, symbol_table_elem::symbol_name, rtos::symbols, ecos_params::thread_name_offset, ecos_params::thread_next_offset, ecos_params::thread_stack_offset, ecos_params::thread_state_offset, ecos_params::thread_uniqueid_offset, and ecos_params::uid_width.
Referenced by ecos_get_thread_reg_list(), and ecos_update_threads().
|
static |
Definition at line 1186 of file eCos.c.
References ARRAY_SIZE, rtos::current_thread, ecos_packet_hook(), ecos_params_list, ecos_params::flush_common, rtos::gdb_thread_packet, LOG_ERROR, NULL, target::rtos, rtos::rtos_specific_params, ecos_params::stacking_info, ecos_params::target_names, target_type_name(), and rtos::thread_details.
|
static |
Definition at line 1153 of file eCos.c.
References symbol_table_elem::address, ECOS_VAL_THREAD_LIST, target::rtos, and rtos::symbols.
|
static |
|
static |
Definition at line 1132 of file eCos.c.
References ARRAY_SIZE, ecos_symbol_list, symbols::name, and symbols::optional.
|
static |
Definition at line 1031 of file eCos.c.
References symbol_table_elem::address, ecos_check_app_info(), ECOS_VAL_THREAD_LIST, ERROR_OK, LOG_ERROR, NULL, ecos_params::pointer_width, rtos_ecos_cortex_m3_stacking, rtos_generic_stack_read(), rtos::rtos_specific_params, stacking_info, rtos::symbols, rtos::target, target_read_buffer(), ecos_params::target_stack_layout, ecos_params::thread_next_offset, ecos_params::thread_stack_offset, ecos_params::thread_uniqueid_offset, and ecos_params::uid_width.
|
static |
Definition at line 1165 of file eCos.c.
References ecos_params::flush_common, get_target_from_connection(), target::rtos, rtos::rtos_specific_params, and rtos_thread_packet().
Referenced by ecos_create().
|
static |
Definition at line 659 of file eCos.c.
References ARRAY_SIZE, ECOS_VAL_ARM_CTX_CPSR_OFF, ECOS_VAL_ARM_CTX_FP_OFF, ECOS_VAL_ARM_CTX_IP_OFF, ECOS_VAL_ARM_CTX_LR_OFF, ECOS_VAL_ARM_CTX_PC_OFF, ECOS_VAL_ARM_CTX_R0_OFF, ECOS_VAL_ARM_CTX_R10_OFF, ECOS_VAL_ARM_CTX_R1_OFF, ECOS_VAL_ARM_CTX_R2_OFF, ECOS_VAL_ARM_CTX_R3_OFF, ECOS_VAL_ARM_CTX_R4_OFF, ECOS_VAL_ARM_CTX_R5_OFF, ECOS_VAL_ARM_CTX_R6_OFF, ECOS_VAL_ARM_CTX_R7_OFF, ECOS_VAL_ARM_CTX_R8_OFF, ECOS_VAL_ARM_CTX_R9_OFF, ECOS_VAL_ARM_CTX_SP_OFF, ECOS_VAL_ARM_REGSIZE, ecos_value(), ERROR_OK, rtos_register_stacking::num_output_registers, stack_register_offset::offset, rtos_register_stacking::register_offsets, rtos_ecos_regoff_arm, rtos_ecos_stacking, rtos_register_stacking::stack_registers_size, and ecos_params::stacking_info.
|
static |
Definition at line 587 of file eCos.c.
References rtos_register_stacking::calculate_process_stack, ECOS_CORTEXM_BASE_NUMREGS, ECOS_REGLIST_BASEPRI, ECOS_REGLIST_PC, ECOS_REGLIST_R0, ECOS_REGLIST_R1, ECOS_REGLIST_R10, ECOS_REGLIST_R11, ECOS_REGLIST_R12, ECOS_REGLIST_R13, ECOS_REGLIST_R14, ECOS_REGLIST_R2, ECOS_REGLIST_R3, ECOS_REGLIST_R4, ECOS_REGLIST_R5, ECOS_REGLIST_R6, ECOS_REGLIST_R7, ECOS_REGLIST_R8, ECOS_REGLIST_R9, ECOS_REGLIST_XPSR, ECOS_VAL_CORTEXM_CTX_BASEPRI_OFF, ECOS_VAL_CORTEXM_CTX_PC_OFF, ECOS_VAL_CORTEXM_CTX_REG_OFF, ECOS_VAL_CORTEXM_CTX_THREAD_SIZE, ECOS_VAL_CORTEXM_THREAD_SAVED, ECOS_VAL_CORTEXM_VAL_THREAD, ecos_value(), ERROR_OK, rtos_register_stacking::num_output_registers, stack_register_offset::offset, rtos_register_stacking::register_offsets, rtos_ecos_regoff_cortexm, rtos_ecos_stacking, rtos_generic_stack_align8(), rtos_register_stacking::stack_registers_size, and ecos_params::stacking_info.
|
static |
Definition at line 704 of file eCos.c.
References symbol_table_elem::address, ARRAY_SIZE, COUNTSLEEP, CREATING, rtos::current_thread, ecos_thread_state::desc, ecos_check_app_info(), ecos_escape_string(), ECOS_MAX_THREAD_COUNT, ECOS_THREAD_NAME_STR_SIZE, ecos_thread_reasons, ECOS_VAL_COMMON_THREAD_PRI_OFF, ECOS_VAL_COMMON_THREAD_PRI_SIZE, ECOS_VAL_COMMON_THREAD_SLEEP_OFF, ECOS_VAL_COMMON_THREAD_SLEEP_SIZE, ECOS_VAL_CURRENT_THREAD_PTR, ECOS_VAL_THREAD_LIST, ecos_value(), ERROR_FAIL, ERROR_OK, thread_detail::exists, EXITED, thread_detail::extra_info_str, ecos_params::flush_common, LOG_ERROR, NULL, ecos_params::pointer_width, rtos_free_threadlist(), rtos::rtos_specific_params, RUNNING, SLEEPING, SLEEPSET, ecos_params::state_width, SUSPENDED, rtos::symbols, rtos::target, target_read_buffer(), rtos::thread_count, rtos::thread_details, ecos_params::thread_name_offset, thread_detail::thread_name_str, ecos_params::thread_next_offset, ecos_params::thread_state_offset, ecos_params::thread_uniqueid_offset, thread_detail::threadid, and ecos_params::uid_width.
|
static |
Definition at line 466 of file eCos.c.
References symbol_table_elem::address, ARRAY_SIZE, ecos_symbol_list, LOG_ERROR, and rtos::symbols.
Referenced by ecos_check_app_info(), ecos_stack_layout_arm(), ecos_stack_layout_cortexm(), and ecos_update_threads().
|
static |
Definition at line 102 of file eCos.c.
Referenced by ecos_create().
const struct rtos_type ecos_rtos |
|
static |
Definition at line 102 of file eCos.c.
Referenced by ecos_check_app_info(), ecos_get_symbol_list_to_lookup(), and ecos_value().
|
static |
Definition at line 55 of file eCos.c.
Referenced by ecos_update_threads().
size_t rlen |
Definition at line 481 of file eCos.c.
Referenced by tcl_input().
const char* rs |
Definition at line 480 of file eCos.c.
Referenced by arm_shifter_operand(), csrrs(), csrrw(), ecos_escape_string(), evaluate_data_proc(), evaluate_misc_instr(), and evaluate_mul_and_extra_ld_st().
|
static |
Definition at line 102 of file eCos.c.
Referenced by ecos_stack_layout_arm().
|
static |
Definition at line 102 of file eCos.c.
Referenced by ecos_stack_layout_cortexm().
|
static |
Definition at line 102 of file eCos.c.
Referenced by ecos_stack_layout_arm(), and ecos_stack_layout_cortexm().
|
static |
|
static |
const { ... } xmlchars[] |
Referenced by ecos_escape_string().