Skip to content

About

directc jtag for mcirosemi

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

JTAG DirectC

JTAG DirectC is a Linux command-line programmer for Microchip PolarFire and PolarFire SoC devices. It supports two JTAG hardware backends: gpio through libgpiod on a BeagleBone Black or Raspberry Pi, and ftdi through FT2232 MPSSE. It supports device programming, verification, device information, security actions, and selected SPI Flash operations.

The default all build contains both backends. The runtime interface is selected with --interface gpio or --ftdi; omitting the option selects GPIO.

Quick Start

  1. Connect the controller board to the target JTAG programming header as described in Hardware Setup.

  2. Install the dependencies for the selected backend as described in Build and Installation.

  3. Generate a DAT file with Libero SoC.

  4. Build the application with both runtime backends:

    make
  5. Confirm the target IDCODE through the default GPIO backend:

    ./directc_jtag -a read_idcode programmingfile.dat
  6. Program and verify the device:

    ./directc_jtag -a program programmingfile.dat
    ./directc_jtag -a verify programmingfile.dat

The action may be given as -a <action>, as --action <action>, or with the legacy attached form -a<action>.

To select FTDI at runtime with the same combined executable:

./directc_jtag --ftdi -a read_idcode programmingfile.dat

Documentation

Supported Hardware

  • Microchip PolarFire and PolarFire SoC targets supported by the bundled DirectC algorithms
  • BeagleBone Black
  • Raspberry Pi 2 and newer models, subject to the GPIO and device-tree requirements
  • FT2232-based JTAG adapters using the documented Microsemi adapter wiring
  • Selected Cypress/Spansion S25F SPI Flash devices through the target's JTAG SPI programming port

See SPI Flash Operations for the supported JEDEC IDs and limitations.

Important Limitations

  • A filename is currently required for every command, including IDCODE-only actions.
  • The DAT file is loaded into memory in its entirety.
  • GPIO platform detection is limited to recognized BeagleBone and Raspberry Pi device-tree strings.
  • The CLI help lists actions globally, but the target device and DirectC algorithm determine which actions are actually supported.
  • zeroize_unrecoverable is destructive and must only be used after confirming the target device and intended security operation.
  • The program prints the DirectC operation result, but its process exit status does not yet reliably propagate every hardware-operation failure. Use the displayed error code when diagnosing failures.

License

This project is distributed under the MIT License. See LICENSE.

About

directc jtag for mcirosemi

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages