OpenOCD
transport Struct Reference

Wrapper for transport lifecycle operations. More...

Collaboration diagram for transport:

Data Fields

unsigned int id
 Each transport has a unique ID, used to select it from among the alternatives. More...
 
int(* init )(struct command_context *ctx)
 server startup uses this method to validate transport configuration. More...
 
struct list_head lh
 Transports are stored in a linked list. More...
 
int(* override_target )(const char **targetname)
 Optional. More...
 
int(* select )(struct command_context *ctx)
 When a transport is selected, this method registers its commands and activates the transport (e.g. More...
 

Detailed Description

Wrapper for transport lifecycle operations.

OpenOCD talks to targets through some kind of debugging or programming adapter, using some protocol that probably has target-specific aspects.

A "transport" reflects electrical protocol to the target, e..g jtag, swd, spi, uart, ... NOT the messaging protocols layered over it (e.g. JTAG has eICE, CoreSight, Nexus, OnCE, and more).

In addition to the lifecycle operations packaged by this structure, a transport also involves an interface supported by debug adapters and used by components such as debug targets. For non-debug transports, there may be interfaces used to write to flash chips.

Definition at line 55 of file transport.h.

Field Documentation

◆ id

unsigned int transport::id

Each transport has a unique ID, used to select it from among the alternatives.

Definition at line 60 of file transport.h.

Referenced by COMMAND_HANDLER(), get_current_transport_name(), hl_transport_init(), transport_register(), and transport_select().

◆ init

int(* transport::init) (struct command_context *ctx)

server startup uses this method to validate transport configuration.

(For example, with JTAG this interrogates the scan chain against the list of expected TAPs.)

Definition at line 77 of file transport.h.

Referenced by COMMAND_HANDLER(), and transport_register().

◆ lh

struct list_head transport::lh

Transports are stored in a linked list.

Definition at line 85 of file transport.h.

Referenced by transport_register().

◆ override_target

int(* transport::override_target) (const char **targetname)

Optional.

If defined, allows transport to override target name prior to initialisation.

Returns
ERROR_OK on success, or an error code on failure.

Definition at line 85 of file transport.h.

Referenced by COMMAND_HANDLER().

◆ select

int(* transport::select) (struct command_context *ctx)

When a transport is selected, this method registers its commands and activates the transport (e.g.

resets the link).

After those commands are registered, they will often be used for further configuration of the debug link.

Definition at line 70 of file transport.h.

Referenced by transport_register(), and transport_select().


The documentation for this struct was generated from the following file: