The ST-Link V3 Debugger offers a bridge functionality (SPI/UART/I2C/CAN/GPIOs)  using the expansion header. ST provides the API for interfacing with the ST-Link itself and with a small adaptation it runs quite well under Linux using libusb.

I started programming a small test application that works with a I2C eeprom and I found the need to read and write the eerpom using a convenient tool. Because I have the ST-Link V3 that offers the bridge functionality I decided to program a small tool for working with the eeprom chips. The program is based on the Qt framework and on the QHexView widget.

My eeprom readout

Using the ST-Link interface is strait forward and with just a couple of lines of code I managed to the tool working.  The bridge functionality does not replace a good logic analyzer (I use the Digilent Digital Discovery) for the low level debugging but allows to build additional tools for programming eeproms or logging out sensors output.

The source code for the application is open source and can be found in my github repository: https://github.com/bdmihai/st-bridge