Sonntag, 5. Mai 2019

Umbau eines China-Klon-ST-Link V2 zum ST-Link V2.1

wäre es nicht praktisch, einen billigen China-Klon ST-Link V2 zur V2.1 aufzurüsten? Das hätte den Vorteil, dass damit dann auch das Upgrade zum J-Link OB möglich wäre, was wiederum die Tür ins Universum der Segger-Tools öffnet.
Der ST-Link V2.1 wird derzeit nur als Onboard-Debugger der Nucleo-Boards von ST vertrieben.

Der dort verbaute Debugger kann zwar abgetrennt werden und als eigenständiger ST-Link laufen, es wäre aber deutlich cooler, wenn das auch im deutlich kleineren Gehäuse des ST-Link V2 funktionieren würde.
Lange Zeit war das nicht möglich, denn ST bietet keinen Upgrade-Pfad an. Das ist wohl auch deshalb, weil der V2 den STM32F103C8T6 (64kB Flash), der V2.1 jedoch den STM32F103CBT6 (128kB Flash) aufgelötet hat. Es gibt noch einen weiteren Unterschied (der V2.1 schaltet 1k5 über PA15 an USB D+, der V2 hat ihn fest verdrahtet), das scheint aber für die Funktion nicht notwendig zu sein.
Findige Bastler haben jetzt eine Möglichkeit gefunden, den Bootloader des V2.1 zu extrahieren und ihn in den V2 zu laden. Ich habe es ausprobiert und es stimmt tatsächlich! Hier ist eine Anleitung, die die Schritte der russischen Seite nacheinander auflistet:
  1. besorge einen China-Clon ST-Link V2 (Preis ca. 2,50 €)
  2. besorge einen STM32F103CBT6 (Preis ca. 2 €)
  3. entferne den C8 von ST-Link V2 und löte den CB auf
  4. lade den Bootloader über den Link und entpacke die Dateien (das Passwort für die RAR-Datei ist auf der russischen Seite zu finden)
  5. schließe einen weiteren ST-Link an die Debugpins des zu modifizierenden ST-Link an. (Eine Anleitung für die Verbindung gibt es u.a. auf dieser Seite)
  6. Starte das STM ST-Link Flash Utility und verbinde mit dem Target
  7. im Menü Target->;OptionBytes kann nun der Kopierschutz entfernt werden (das löscht das Flash)
  8. nun wird der "Protected-2-1-Bootloader.bin" auf den Chip geflasht und der Speicher wieder gesperrt
  9. wenn der so vorbereitete Stick nun über USB angesteckt wird, kann man im Menu ST-Link->;FirmwareUpdate die aktuelle V2.1 auf den Chip brennen
  10. Ab jetzt benimmt sich der Stick wie ein ST-Link V2.1 und man kann problemlos über den Segger "STLinkReflash" einen "J-Link OB" daraus machen. Damit funktioniert auch die RTT-Anbindung zur Visualisierung der Tasks von FreeRTOS im SystemView
Fazit: wenn man sich zutraut, den Prozessor auf dem USB-Stick zu tauschen, lohnt sich der Umbau auf jeden Fall!

Keine Kommentare:

Kommentar veröffentlichen