glip  0.1.0-dev
The Generic Logic Interfacing Project
JTAG libglip backend

The JTAG backend connects talks to your logic over a JTAG interface using a custom protocol. The JTAG transmissions are handled by OpenOCD. This page explains the configuration options as well as important information regarding the use of OpenOCD.

Configuration Options

Use the "jtag" backend name with glip_new(). The following options are available:

jtag backend options
port port where OpenOCD runs on (default: 6666)
hostname hostname of the PC running OpenOCD (default: localhost)

(Required if OpenOCD is started by GLIP.) OpenOCD configuration file for the JTAG adapter (aka. "interface").

Example for the Olimex ARM-USB-TINY-H adapter oocd_conf_interface=interface/ftdi/olimex-arm-usb-tiny-h.cfg


(Only relevant if OpenOCD is started by GLIP, optional.) OpenOCD target configuration file.

By default, we pass the GLIP specific configuration file glip.cfg, but you can override that here. You can also use this option to include other OpenOCD configuration files. For this feature, write a custom configuration file and include the glip.conf file as needed.

OpenOCD configuration search path

The oocd_conf_* configuration options can be passed an an absolute or a relative path to a configuration file in the same way they would be passed to the OpenOCD -f option.

Relative paths are resolved using an extended OpenOCD search path, which results in the following path:

  1. The current working directory
  2. GLIP's $PKGDATADIR, usually /usr/share/glip
  3. The directory .openocd in your home directory.
  4. OpenOCD's script directory in $PKGDATADIR/scripts, usually /usr/share/openocd/scripts.


This backend relies on OpenOCD for the data transmission. OpenOCD needs to be installed and working on the machine where the JTAG cable is connected. GLIP then connects to OpenOCD over TCP. The hostname and port where OpenOCD is running can be specified using backend options (see above).

GLIP can also start OpenOCD itself if it is needed. For this feature to work, please consider the following notes:

OpenOCD contains for many FT2232-based adapters two possible backends: the ftdi ones using the newer open source FTDI driver, and the older ft2232 ones. By default, OpenOCD only builds the newer backends. Those backends have also shown to be faster, and are preferred.