OpenOCD
rtos.h File Reference
Include dependency graph for rtos.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rtos
 
struct  rtos_reg
 
struct  rtos_register_stacking
 
struct  rtos_type
 
struct  stack_register_offset
 
struct  symbol_table_elem
 Table should be terminated by an element with NULL in symbol_name. More...
 
struct  thread_detail
 

Macros

#define GDB_THREAD_PACKET_NOT_CONSUMED   (-40)
 

Typedefs

typedef int64_t symbol_address_t
 
typedef int64_t threadid_t
 

Functions

int gdb_thread_packet (struct connection *connection, char const *packet, int packet_size)
 
int rtos_create (struct jim_getopt_info *goi, struct target *target)
 
void rtos_destroy (struct target *target)
 
void rtos_free_threadlist (struct rtos *rtos)
 
int rtos_generic_stack_read (struct target *target, const struct rtos_register_stacking *stacking, int64_t stack_ptr, struct rtos_reg **reg_list, int *num_regs)
 
int rtos_get_gdb_reg (struct connection *connection, int reg_num)
 Look through all registers to find this register. More...
 
int rtos_get_gdb_reg_list (struct connection *connection)
 Return a list of general registers. More...
 
int rtos_qsymbol (struct connection *connection, char const *packet, int packet_size)
 
int rtos_read_buffer (struct target *target, target_addr_t address, uint32_t size, uint8_t *buffer)
 
int rtos_set_reg (struct connection *connection, int reg_num, uint8_t *reg_value)
 
int rtos_smp_init (struct target *target)
 
int rtos_thread_packet (struct connection *connection, const char *packet, int packet_size)
 
int rtos_update_threads (struct target *target)
 
int rtos_write_buffer (struct target *target, target_addr_t address, uint32_t size, const uint8_t *buffer)
 

Variables

const struct rtos_type chibios_rtos
 
const struct rtos_type chromium_ec_rtos
 
const struct rtos_type ecos_rtos
 
const struct rtos_type embkernel_rtos
 
const struct rtos_type freertos_rtos
 
const struct rtos_type hwthread_rtos
 
const struct rtos_type linux_rtos
 
const struct rtos_type mqx_rtos
 
const struct rtos_type nuttx_rtos
 
const struct rtos_type riot_rtos
 
const struct rtos_type rtkernel_rtos
 
const struct rtos_type threadx_rtos
 
const struct rtos_type ucos_iii_rtos
 
const struct rtos_type zephyr_rtos
 

Macro Definition Documentation

◆ GDB_THREAD_PACKET_NOT_CONSUMED

#define GDB_THREAD_PACKET_NOT_CONSUMED   (-40)

Definition at line 114 of file rtos.h.

Typedef Documentation

◆ symbol_address_t

typedef int64_t symbol_address_t

Definition at line 16 of file rtos.h.

◆ threadid_t

typedef int64_t threadid_t

Definition at line 15 of file rtos.h.

Function Documentation

◆ gdb_thread_packet()

int gdb_thread_packet ( struct connection connection,
char const *  packet,
int  packet_size 
)

◆ rtos_create()

◆ rtos_destroy()

void rtos_destroy ( struct target target)

Definition at line 144 of file rtos.c.

References os_free().

Referenced by target_create(), and target_destroy().

◆ rtos_free_threadlist()

◆ rtos_generic_stack_read()

◆ rtos_get_gdb_reg()

int rtos_get_gdb_reg ( struct connection connection,
int  reg_num 
)

◆ rtos_get_gdb_reg_list()

int rtos_get_gdb_reg_list ( struct connection connection)

◆ rtos_qsymbol()

◆ rtos_read_buffer()

int rtos_read_buffer ( struct target target,
target_addr_t  address,
uint32_t  size,
uint8_t *  buffer 
)

Definition at line 713 of file rtos.c.

References buffer, ERROR_NOT_IMPLEMENTED, rtos_type::read_buffer, target::rtos, size, and rtos::type.

Referenced by gdb_read_memory_packet().

◆ rtos_set_reg()

int rtos_set_reg ( struct connection connection,
int  reg_num,
uint8_t *  reg_value 
)

◆ rtos_smp_init()

int rtos_smp_init ( struct target target)

Definition at line 39 of file rtos.c.

References ERROR_TARGET_INIT_FAILED, target::rtos, rtos_type::smp_init, and rtos::type.

Referenced by COMMAND_HANDLER().

◆ rtos_thread_packet()

◆ rtos_update_threads()

int rtos_update_threads ( struct target target)

◆ rtos_write_buffer()

int rtos_write_buffer ( struct target target,
target_addr_t  address,
uint32_t  size,
const uint8_t *  buffer 
)

Variable Documentation

◆ chibios_rtos

const struct rtos_type chibios_rtos
extern

Definition at line 98 of file chibios.c.

◆ chromium_ec_rtos

const struct rtos_type chromium_ec_rtos
extern

Definition at line 367 of file chromium-ec.c.

◆ ecos_rtos

const struct rtos_type ecos_rtos
extern

Definition at line 103 of file eCos.c.

◆ embkernel_rtos

const struct rtos_type embkernel_rtos
extern

Definition at line 28 of file embKernel.c.

◆ freertos_rtos

const struct rtos_type freertos_rtos
extern

Definition at line 81 of file FreeRTOS.c.

◆ hwthread_rtos

const struct rtos_type hwthread_rtos
extern

Definition at line 35 of file hwthread.c.

◆ linux_rtos

const struct rtos_type linux_rtos
extern

Definition at line 248 of file linux.c.

◆ mqx_rtos

const struct rtos_type mqx_rtos
extern

Definition at line 490 of file mqx.c.

◆ nuttx_rtos

const struct rtos_type nuttx_rtos
extern

Definition at line 419 of file nuttx.c.

◆ riot_rtos

const struct rtos_type riot_rtos
extern

Definition at line 73 of file riot.c.

◆ rtkernel_rtos

const struct rtos_type rtkernel_rtos
extern

Definition at line 363 of file rtkernel.c.

◆ threadx_rtos

const struct rtos_type threadx_rtos
extern

Definition at line 187 of file ThreadX.c.

◆ ucos_iii_rtos

const struct rtos_type ucos_iii_rtos
extern

Definition at line 488 of file uCOS-III.c.

◆ zephyr_rtos

const struct rtos_type zephyr_rtos
extern

Definition at line 777 of file zephyr.c.