Skip to main content

Crate jtag_scanner

Crate jtag_scanner 

Source
Expand description

JTAG boundary scanning module.

WARNING: This tool may damage your hardware in EXTEST mode, especially when the target is not a development board: to reduce the risk, do not enable the output of any pin with unknown functionality for a long time (the duration should be as short as possible).

§Usage

§Building the PinScanner

  • Check for compatible debug adapters, connect the adapter to the target, connect the adapter to the PC and power on the target;
  • With the backend-jtag-taps feature of jtag-scanner enabled, construct and configure a Cable instance;
  • Create a PinScannerBuilder with the Cable instance, and (optionally) check the result of get_id_codes to make sure the TAP chain is working;
  • With the builder, call scan_tap_info with a directory path for scanning BSDL files, then call build to build the PinScanner.

§Using the PinScanner

§Creating bitbang IO interface adapters

Some adapters (e.g. I2C, NOR and NAND flash) may be added in the future. These adapters should depend on PinGroup instead of using PinScanner directly; they are all under protocols feature gate.

Modules§

protocols
IO interface adapters. All of them are under the protocol feature gate.

Structs§

BsrEdit
Write-only BSR buffer. Used in the batch operation API.
BsrView
Read-only BSR buffer. Used in the batch operation API.
Error
The error type used in this crate.
PinGroup
Groups pins and assign given names to each pin, restricting the usage of PinScanner within the group. Implements PinGroup.
PinGroupItem
Items required during construction of PinGroup.
PinId
Unique pin identifier associated with a PinScanner instance. This is not intended to be persistent or serializable.
PinIdIter
Iterates through all PinIds for a TAP in the chain handled by PinScanner.
PinScanner
Basic structure for doing boundary scanning. Expects a fixed chain of devices.
PinScannerBuilder
The only way to build PinScanner; detects IDCODEs of devices on the chain, and scan for BSDL files.
PinState
Lastly captured states of scan cells of a pin.

Enums§

ErrorKind
A list of general categories of errors produced in this crate.
TapInfo
Needed information for each TAP on the chain.
TapState
Supported TAP states for normal operations.

Traits§

Backend
Trait for supported JTAG adapter drivers (currently all of them are from jtag-taps).