OpenOCD
eCos.c File Reference
Include dependency graph for eCos.c:

Go to the source code of this file.

Data Structures

struct  ecos_params
 
struct  ecos_thread_state
 

Macros

#define ECOS_NUM_STATES   ARRAY_SIZE(ecos_thread_states)
 
#define ECOS_THREAD_NAME_STR_SIZE   (200)
 

Enumerations

enum  ecos_symbol_values { ECOS_VAL_THREAD_LIST = 0 , ECOS_VAL_CURRENT_THREAD_PTR = 1 }
 

Functions

static int ecos_create (struct target *target)
 
static bool ecos_detect_rtos (struct target *target)
 
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_update_threads (struct rtos *rtos)
 

Variables

static const struct ecos_params ecos_params_list []
 
const struct rtos_type ecos_rtos
 
static const char *const ecos_symbol_list []
 
static const struct ecos_thread_state ecos_thread_states []
 

Macro Definition Documentation

◆ ECOS_NUM_STATES

#define ECOS_NUM_STATES   ARRAY_SIZE(ecos_thread_states)

Definition at line 39 of file eCos.c.

◆ ECOS_THREAD_NAME_STR_SIZE

#define ECOS_THREAD_NAME_STR_SIZE   (200)

Enumeration Type Documentation

◆ ecos_symbol_values

Enumerator
ECOS_VAL_THREAD_LIST 
ECOS_VAL_CURRENT_THREAD_PTR 

Definition at line 65 of file eCos.c.

Function Documentation

◆ ecos_create()

static int ecos_create ( struct target target)
static

◆ ecos_detect_rtos()

static bool ecos_detect_rtos ( struct target target)
static

Definition at line 353 of file eCos.c.

References symbol_table_elem::address, ECOS_VAL_THREAD_LIST, target::rtos, and rtos::symbols.

◆ ecos_get_symbol_list_to_lookup()

static int ecos_get_symbol_list_to_lookup ( struct symbol_table_elem symbol_list[])
static

Definition at line 341 of file eCos.c.

References ARRAY_SIZE, and ecos_symbol_list.

◆ ecos_get_thread_reg_list()

static int ecos_get_thread_reg_list ( struct rtos rtos,
int64_t  thread_id,
struct rtos_reg **  reg_list,
int *  num_regs 
)
static

◆ ecos_update_threads()

Variable Documentation

◆ ecos_params_list

const struct ecos_params ecos_params_list[]
static
Initial value:
= {
{
"cortex_m",
4,
0x0c,
0x9c,
0x3c,
0xa0,
0x4c,
}
}
const struct rtos_register_stacking rtos_ecos_cortex_m3_stacking

Definition at line 23 of file eCos.c.

Referenced by ecos_create().

◆ ecos_rtos

const struct rtos_type ecos_rtos
Initial value:
= {
.name = "eCos",
.detect_rtos = ecos_detect_rtos,
.create = ecos_create,
.update_threads = ecos_update_threads,
.get_thread_reg_list = ecos_get_thread_reg_list,
.get_symbol_list_to_lookup = ecos_get_symbol_list_to_lookup,
}
static bool ecos_detect_rtos(struct target *target)
Definition: eCos.c:353
static int ecos_update_threads(struct rtos *rtos)
Definition: eCos.c:87
static int ecos_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[])
Definition: eCos.c:341
static int ecos_create(struct target *target)
Definition: eCos.c:363
static int ecos_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, struct rtos_reg **reg_list, int *num_regs)
Definition: eCos.c:275

Definition at line 70 of file eCos.c.

◆ ecos_symbol_list

const char* const ecos_symbol_list[]
static
Initial value:
= {
"Cyg_Thread::thread_list",
"Cyg_Scheduler_Base::current_thread",
}
#define NULL
Definition: usb.h:16

Definition at line 70 of file eCos.c.

Referenced by ecos_get_symbol_list_to_lookup().

◆ ecos_thread_states

const struct ecos_thread_state ecos_thread_states[]
static
Initial value:
= {
{ 0, "Ready" },
{ 1, "Sleeping" },
{ 2, "Countsleep" },
{ 4, "Suspended" },
{ 8, "Creating" },
{ 16, "Exited" }
}

Definition at line 23 of file eCos.c.

Referenced by ecos_update_threads().