Die STM32F4 CPU hat einen eingebauten Bootloader, mit dessen Hilfe man die CPU programmieren kann auch wenn man keinen STLink/V2 hat.
Am einfachsten ist der Weg per externem USB-to-UART-Wandler (von FTDI) und dem Flash-Loader PC-Programm von STM.
1. PC vorbereiten :
Auf dem PC muss ein aktueller USB Treiber für den FTDI-Wandler installiert sein.
(den gibts auf der Webseite von FTDIChip)
Das “Flash-Loader-Programm” gibt es auf der Webseite von STM.
2. FTDI-Wandler per USB-Kabel an den PC anschließen :
Im Gerätemanager taucht jetzt ein neuer COM-Anschluss auf
(die Nummer vom COM-Port bitte aufschreiben…im Beispiel = COM6)
3. FTDI-Wandler mit dem UART1 der CPU verbinden :
Der TX-Pin vom FTDI-Wandler muss mit dem RX-Pin der STM32F4
verbunden werden (RX_UART1 = PA10 = Pin 69)
Der RX-Pin vom FTDI-Wandler muss mit dem TX-Pin der STM32F4
verbunden werden (TX_UART1 = PA9 = Pin 68)
4. Bootloader auf der CPU starten :
Um den Bootloader auf der CPU zu starten muss diese Sequenz durchgeführt werden :
1. CPU Pin BOOT-1/PB2 (Pin 37) muss auf Lo-Pegel liegen
2. CPU Pin BOOT-0 (Pin 94) muss auf Hi-Pegel liegen
3. Reset muss ausgelöst werden (Reset = Pin 14)
Wenn der Bootloader einmal läuft, ist der Pegel an Boot-0 und Boot-1 egal, die CPU wartet jetzt bis sie entweder ein HEX-File zum flashen bekommt oder bis erneut ein Reset ausgelöst wird.
5. Flash-Loader-Programm auf dem PC starten :
auf die Einstellung des richtigen Com-Ports achten
und den Button “NEXT” drücken
6. CPU suchen lassen :
Falls der Bootloader der CPU gefunden wurde,
erscheint eine “Target available” meldung.
Jetzt wieder den Button “NEXT” drücken.
7. Target auswählen :
Unter “Target” muss die richtige Speichergröße der CPU eingestellt werden.
Im fall vom STM32F4 auf 1024K (1MByte)
Dann weiter mit dem Button “NEXT”
8. File zum programmieren auswählen :
Unter “Download from File” kann über den Button das “BIN” oder “HEX”-File
das programmiert werden soll in einerm Browser gesucht werden.
(im Beispiel “Stamp_01.bin”)
Mit einem Klick auf “NEXT” wird das File in die CPU programmiert.
9. File in die CPU flashen :
Wenn das programmieren ohne Fehler funktioniert hat,
wird “successfully” angezeigt.
10. Programm auf der CPU starten :
Die CPU steht jetzt immer noch im Bootloader. Um das gerade
geflashte Programm zu starten, muss diese Sequenz durchgeführt werden :
1. Pegel vom CPU Pin BOOT-1/PB2 (Pin 37) ist egal
2. CPU Pin BOOT-0 (Pin 94) muss auf Lo-Pegel liegen
3. Reset muss ausgelöst werden (Reset = Pin 14)
11. Fertig :
Die CPU sollte jetzt mit dem neuen Programm laufen
und das PC-Programm kann beendet werden.
Damit keiner Zeit verschwendet ein zusätzlicher Hinweis:
auf dem Discovery-Board funktioniert der interne Bootloader nicht so wie beschrieben, da die Pins PA9/PA10 mit dem USB-Anschluß belegt sind. Auf dieser Leiterplatte muss man die Pins PB10/PB11 bzw. PC10/PC11 oder den DFU-Modus benutzen.
sehr guter Hinweis…Danke