Forum: Mikrocontroller und Digitale Elektronik STM32Cube external loader


von Ma D. (plet0s)


Lesenswert?

Hallo,

ich wollte gern wissen, ob jemand eine Seite kennt die ich nicht finde 
wo diverse Dateien für external Loader des STM32Cube verfügbar sind?

Da ich noch sehr unerfahren auch dem Gebiet bin traue ich mich nur 
bedingt an die Erstellung eines eigenen external Loader.

Was ich eigentlich tun möchte ist eine Programmierung eines externen 
flash MT25QL512A der an einem STM32F746NG hängt.

Habt ihr dazu Erfahrungen oder Tipps?

von pegel (Gast)


Lesenswert?

Im STM32CubeProgrammer befinden sich alle aktuellen "External Loader".
Das Symbol links unten, Zahnrad mit EL drin.

Bei der Installation erstellt dieser einen Ordner "ExternalLoader"
in dem sich alle .stldr Dateien und ein paar Beispiel Projekte mit 
Quellen befinden.

von A. B. (Gast)


Lesenswert?

Bei Verwendung von OpenOCD braucht man keinen. Man muss nur die GPIOs 
passend initialisieren. Ein guter Ausgangspunkt ist unter
http://openocd.zylin.com/#/c/4321/
z. B. 'tcl/board/stm32f746g-disco.cfg' Der QL512 benötigt 4-Byte 
Addressen, das muss da auch noch in der Registereinstellung angepasst 
und der Flash in 'qspi_init' konfiguriert werden, Beispiel findet man z. 
B. in 'tcl/board/stm32f769i-disco.cfg'.

von Phantomix X. (phantomix)


Lesenswert?

Habe damit auch gerade zu tun gehabt. In der CubeIDE gibt's die ext. 
Loader auch, zu finden sind sie in

(bei mir)
STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogramm 
er.win32_1.6.0.202101291314\tools\bin\ExternalLoader\

Einbinden ins Projekt geht auch relativ einfach, debuggen kann man damit 
dann problemlos:
- Klick auf den "runter"-Pfeil neben dem Debug-Symbol
-> "Debug Configurations..."
- Im Bereich "STM32 Cortex-M C/C++ Application" deine Debug-config 
auswählen
- Dort bei Debugger gibt es fast ganz unten "Misc" -> "External Loader".

Für mein STM32H735G-DK sieht die einzufügende Textzeile so aus:
MX25LM51245G_STM32H735G-DK, 0x90000000, NOR_FLASH, 
MX25LM51245G_STM32H735G-DK.stldr


Habe mir dazu noch einen Bootloader geschrieben, welcher den Octospi 
richtig konfiguriert sodass die Kiste auch ohne debugger Dinge tut, aber 
das ist nicht so ganz trivial, ich empfehle zum Anfang die komplette 
ST-Implementierung incl. BSP zu benutzen und dann die Sachen 
auszutauschen, die auf der Custom-HW anders sind

von STM32User (Gast)


Lesenswert?

Kurze Frage zum gleichen Thema.

Habe den external loader anhand der Beispiele für eine STM32F769ii mit 
QUAD SPI Flash erfolgreich zum laufen gebracht.
Jetzt brauch ich aber eine Variante für einen STM32F205. Dieser besitzt 
keine QUAD SPI Schnittstelle.

Deshalb die Frage:
Funktioniert das external Loader Prinzip auch ohne QUAD SPI mit der 
einfach SPI Schnittstelle? Habe nirgends was dazu gefunden...
Danke

von A. B. (Gast)


Lesenswert?

Prinzipiell ja, man muss halt statt des QSPI- eines der SPI-Interfaces 
nutzen oder ggf. per Bitbanging. Etwas mühsamer, weil man ja alles zu 
Fuß machen muss (beim QSPI-Interface schreibt man die nötigen Parameter 
nur in die zwei Register). Dem ExternalLoader-API ist der 
Transportmechanismus erstmal egal.

Ansonsten: Für OpenOCD gibt's auch einen Bitbanging-Treiber, der mit 
nahezu beliebigen GPIOs zurechtkommt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.