Capt'ns Missing Link

Unfortunately our stm32 discovery board lacks a linux support. There is some support via a serial cable, but that needs an additional rs232 breakout board.


** The first ST Discovery test: the iar driver works (many annoying bugs, but it's usable. Tested with Vista pure and with XP in the virtual box running inside a linux). Don't panic: the stlink's invalid serial number trashes the xml configuration file from the virtualbox! Just go ahead and delete the version tag. The others, the keil & the atollic tools have IMO a completely broken non-working drivers.

** Oliver Spencer from the OpenOCD project provided me the essential constants needed to access the stlink from Linux.

** Looks like the stlink won't leave the dfu mode, some usb sniffing from windows iar access needed. Solved, Spen sent me the code to exit the dfu mode :-)

** 2010-12-22 - Yay! The world wide first successful jtag access to the stlink from linux.

The output from the test program & dmesg: test-out03.txt

** 2011-01-03 - Add a workaround for the linux usb-storage driver, implement a read access to the arm-core registers: stlink-access-test-02.tgz

** 2011-01-06 - A better workaround for all the firmware bugs. Implement all remaining stlink's functions, test register and memory access. Test a memory-mapped register access: let blink all the LEDs 8-) stlink-access-test-04.tgz. Thanks to Fabien Lementec for the initial thoughts about the endianness.


** Turn the access test code into a gpl library.

** Implement a flash write access - rtfm (STM32F100xx flash programming manual)

** Add a gdb-proxy code for the gdb-server protocol.

** The discovery’s stlink (both st8, st32) implementation of the USB protocol violates the USB standard in multiple ways and it's too much broken for the linux kernel driver. Although it's possible to intercept the core and write/read a data in some for that designated SRAM region, there isn't any direct communication channel to the chip over the USB. The right (but long term) solution will be to replace the stlink firmware.

crapplino, a - crap made by design - prize