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

Go to the source code of this file.

Data Structures

struct  embkernel_params
 

Macros

#define EMBKERNEL_MAX_THREAD_NAME_STR_SIZE   (64)
 

Enumerations

enum  {
  SYMBOL_ID_S_CURRENT_TASK = 0 , SYMBOL_ID_S_LIST_READY = 1 , SYMBOL_ID_S_LIST_SLEEP = 2 , SYMBOL_ID_S_LIST_SUSPENDED = 3 ,
  SYMBOL_ID_S_MAX_PRIORITIES = 4 , SYMBOL_ID_S_CURRENT_TASK_COUNT = 5
}
 

Functions

static int embkernel_create (struct target *target)
 
static bool embkernel_detect_rtos (struct target *target)
 
static int embkernel_get_symbol_list_to_lookup (struct symbol_table_elem *symbol_list[])
 
static int embkernel_get_tasks_details (struct rtos *rtos, int64_t iterable, const struct embkernel_params *param, struct thread_detail *details, const char *state_str)
 
static int embkernel_get_thread_reg_list (struct rtos *rtos, int64_t thread_id, struct rtos_reg **reg_list, int *num_regs)
 
static int embkernel_update_threads (struct rtos *rtos)
 

Variables

static const struct embkernel_params embkernel_params_list []
 
struct rtos_type embkernel_rtos
 
static const char *const embkernel_symbol_list []
 

Macro Definition Documentation

◆ EMBKERNEL_MAX_THREAD_NAME_STR_SIZE

#define EMBKERNEL_MAX_THREAD_NAME_STR_SIZE   (64)

Definition at line 21 of file embKernel.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SYMBOL_ID_S_CURRENT_TASK 
SYMBOL_ID_S_LIST_READY 
SYMBOL_ID_S_LIST_SLEEP 
SYMBOL_ID_S_LIST_SUSPENDED 
SYMBOL_ID_S_MAX_PRIORITIES 
SYMBOL_ID_S_CURRENT_TASK_COUNT 

Definition at line 40 of file embKernel.c.

Function Documentation

◆ embkernel_create()

static int embkernel_create ( struct target target)
static

◆ embkernel_detect_rtos()

static bool embkernel_detect_rtos ( struct target target)
static

◆ embkernel_get_symbol_list_to_lookup()

static int embkernel_get_symbol_list_to_lookup ( struct symbol_table_elem symbol_list[])
static

Definition at line 322 of file embKernel.c.

References ARRAY_SIZE, and embkernel_symbol_list.

◆ embkernel_get_tasks_details()

static int embkernel_get_tasks_details ( struct rtos rtos,
int64_t  iterable,
const struct embkernel_params param,
struct thread_detail details,
const char *  state_str 
)
static

◆ embkernel_get_thread_reg_list()

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

◆ embkernel_update_threads()

Variable Documentation

◆ embkernel_params_list

const struct embkernel_params embkernel_params_list[]
static
Initial value:
= {
{
"cortex_m",
4,
4,
8,
0,
4,
8,
4,
4,
12,
},
{ "hla_target",
4,
4,
8,
0,
4,
8,
4,
4,
12,
}
}
const struct rtos_register_stacking rtos_embkernel_cortex_m_stacking

Definition at line 49 of file embKernel.c.

Referenced by embkernel_create().

◆ embkernel_rtos

struct rtos_type embkernel_rtos
Initial value:
= {
.name = "embKernel",
.detect_rtos = embkernel_detect_rtos,
.create = embkernel_create,
.update_threads = embkernel_update_threads,
.get_thread_reg_list =
.get_symbol_list_to_lookup = embkernel_get_symbol_list_to_lookup,
}
static int embkernel_create(struct target *target)
Definition: embKernel.c:109
static bool embkernel_detect_rtos(struct target *target)
Definition: embKernel.c:100
static int embkernel_get_symbol_list_to_lookup(struct symbol_table_elem *symbol_list[])
Definition: embKernel.c:322
static int embkernel_get_thread_reg_list(struct rtos *rtos, int64_t thread_id, struct rtos_reg **reg_list, int *num_regs)
Definition: embKernel.c:293
static int embkernel_update_threads(struct rtos *rtos)
Definition: embKernel.c:173

Definition at line 28 of file embKernel.c.

◆ embkernel_symbol_list

const char* const embkernel_symbol_list[]
static
Initial value:
= {
"Rtos::sCurrentTask",
"Rtos::sListReady",
"Rtos::sListSleep",
"Rtos::sListSuspended",
"Rtos::sMaxPriorities",
"Rtos::sCurrentTaskCount",
NULL }
#define NULL
Definition: usb.h:16

Definition at line 49 of file embKernel.c.

Referenced by embkernel_get_symbol_list_to_lookup().