Direct Access

class lauterbach.trace32.rcl.DirectAccessService(conn)
execute_bundle(bundle, *, release_debug_port=True)

Execute direct access bundle.

During bundle execution all debugger actions concerning the debug port will be suspended. The API has exclusive access to the debug port. Afterwards the debug port will be released if release_debug_port = True.

Parameters:
  • bundle (DirectAccessBundle) – Direct access bundle to execute.

  • release_debug_port (bool) – Release debug port after bundle execution. Defaults to True.

Returns:

List with results.

Return type:

List[DirectAccessResult]

class lauterbach.trace32.rcl.DirectAccessBundle
add_access(access)

Add a (direct) access to the bundle.

Parameters:

access (DirectAccess) – Direct access.

Return type:

None

class lauterbach.trace32.rcl.DirectAccessShiftRaw(num_bits, tms=None, tdi=None, tdo=False, options=<factory>)

Direct access raw shift.

This function is used to send/receive arbitrary TDI/TMS/TDO patterns. The buffers are considered bit wise beginning with the first byte e.g. tdi = 0x03 0x04 will shift out 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 for TDI.

If no tms/tdi is provided by default all 0s are shifted. This can be changed using the options parameter.

Parameters:
num_bits

Number of bits to shift (TCK cycles).

Type:

bytes

tms

TMS shift pattern. Defaults to None.

Type:

Optional[Exception], optional

tdi

TDI shift pattern. Defaults to None.

Type:

Optional[Exception], optional

tdo

If True then TDO is captured. Defaults to False.

Type:

bool

options

Defaults to DirectAccessShiftRawOptions()

Type:

DirectAccessShiftRawOptions

class lauterbach.trace32.rcl.DirectAccessShiftRawOptions(lasttms_one=False, tms_one=False, tdi_lasttdo=False, tdi_one=False)

Direct access shift raw options.

At most one tms and tdi option should be set.

Parameters:
  • lasttms_one (bool)

  • tms_one (bool)

  • tdi_lasttdo (bool)

  • tdi_one (bool)

lasttms_one

Set to shift TMS = 0, except for the last cycle shift TMS = 1. Defaults to False.

Type:

bool

tms_one

Set to shift TMS = 1. Defaults to False.

Type:

bool

tdi_lasttdo

Set to shift TDI pattern that equals last read back TDO. Defaults to False.

Type:

bool

tdi_one

Set to shift TDI = 1. Defaults to False.

Type:

bool

class lauterbach.trace32.rcl.DirectAccessShiftRawResult(tdo=None)

Result of a direct access raw shift.

Parameters:

tdo (bytes | None)

tdo

TDO if TDO was returned, None otherwise.

Type:

Optional[bytes]