klipper_faq:flash_guide:stm32_firmware_sichern
Table of Contents
STM32 - Firmware sichern
YouTube Video #71
Warum Linux ?
- V2 Programmer unter Windows teilweise Probleme macht (Clone)
- Alle Programmer unter Linux sofort laufen (Treiber)
- Fehlermeldungen teilweise offentsichtlicher
Warum sichern ?
- Original Firmware sichern
- Aktuelle Firmware vor Update sichern
- Bootloader extrahieren
- Werkszustand wieder herstellen
STM32 St-Link Typen
- V2
- V2.1 (Clone)
- V3 MINIE
St-Link Pins
Funktion | ST-Link 2.x Clone | ST-Link V3Minie | Notes | Kabel |
---|---|---|---|---|
3,3V | 3V3 (nicht empfohlen) | - | Rot | |
GND | GND | GND | Schwarz | |
SWDIO | (SW)DIO | T_JTMS/T_SWDIO (Pin 3) | SWD data input/output | Blau |
SWCLK | (SW)CLK | T_JCLK/T_SWCLK (Pin 4) | SWD Clock | Gelb |
NRST | RST | T_NRST (Pin 9) | Reset of targets STM32 | Grau |
VDD-Target | - | T_VCC (Pin10) | VDD von der Platine! Input Pin! Nur nötig beim ST-Link V3 Adapter! | Orange |
Verbindungen
- beim V2 reicht DIO, CLK, GND
- Beim V3 muss die Spannung des Board mit angeschlossen werden
Hinweis: Das ist NICHT die Versorgung für das Board! - Board muss extra mit Strom versorgt werden (USB oder 12/24v) → ggf. auf Jumper achten!
st-link Tools
sudo apt install gcc build-essential cmake libusb-1.0-0 libusb-1.0-0-dev libgtk-3-dev pandoc -y
cd ~ && mkdir build -p && cd build
git clone https://github.com/stlink-org/stlink.git
cd stlink
make clean && make release
sudo make install
- Problem :
st-flash: error while loading shared libraries: libstlink.so.1
https://github.com/stlink-org/stlink/issues/478
Lösung :sudo ldconfig
Flash lesen
st-info --probe --connect-under-reset
- Flashgröße ermitteln anhand der Ausgabe vom vorherigen Befehl
Bsp: flash: 32768 (pagesize: 1024) 32768 / 1024 = 32k
st-flash --connect-under-reset read firmware.bin 0x8000000 32k
Firmware zurückspielen
st-flash --connect-under-reset erase
st-flash --connect-under-reset write firmware.bin 0x8000000
Bootloader extrahieren
Bootloader offset
ermitteln- Offset umrechnen in HEX
Bsp: Bootloader offset 8k → 8k * 1024 = 0x2000h - Datei im Hexeditor (HxD https://mh-nexus.de/de/hxd/) laden und alles nach der Adresse löschen
- Datei speichern und fertig
klipper_faq/flash_guide/stm32_firmware_sichern.txt · Last modified: 2023/12/01 21:09 by dominik