STM32F4xx: Von SD-Karte 8mit zusätzlichen Filesystem) booten

Gast #4515586
Lesenswert?

Hallo zusammen,

kann man eigentlich mit einem STM32F407 von einer FAT-formartieren 
SD-Karte booten? Auf der SD-Karte sollen zudem Firmware-Image auch Bild- 
und Textdateien gespeichert werden können, die vom Controller gelesen 
werden.

Gibt es schon einen Bootloader, der so was kann?

Danke und Grüße
Kai
Gast #4515612
Lesenswert?

Der Controller an sich kann das nicht. Du kannst dir aber ein Programm 
schreiben, welches ein Image von der SD Karte lädt, es in den RAM 
schreibt und dort ausführt. Besonders sinnvoll ist das aber nicht, da 
dein Image dann ja wesentlich kleiner sein muss damit es in den RAM 
passt, und eben weniger RAM für Daten übrig bleibt. Du kannst das 
Programm alternativ auch in den internen Flash schreiben, als 
Möglichkeit zum Firmware Upgrade.

Kai schrieb:
> Gibt es schon einen Bootloader, der so was kann?
Du kannst dir so etwas mithilfe einer SD Karten Library auch selber 
schreiben...
Gast #4515715
Lesenswert?

Kai schrieb:
> Debuggen wird beim Booten von SD-Karte dann nicht mehr funktionieren,
> oder?

Doch klar, es werden weiterhin Instruktionen aus dem Speicher 
ausgeführt, das kann man normal Debuggen. Du musst nur dafür sorgen, 
dass die PC Software des Debuggers den aktuellen Sourcecode hat und die 
richtigen Adressen, damit auch source Level Debugging geht.

Kai schrieb:
> Habe einen Bootloader gefunden: OpenBLT
Dieser überschreibt bei jedem Boot Vorgang den internen Flash und nutzt 
ihn somit ab. Ist das das, was du willst?
Gast #4515804
Lesenswert?

Der OpenBLT sieht gut aus, habe ich auch in meine Favoritenliste 
gepackt.

Dr. Sommer schrieb:
> Dieser überschreibt bei jedem Boot Vorgang den internen Flash

Das lässt sich doch einfach lösen, ein SW-Update per 
SD-Karte/USB-Memorystick ist doch gängige Praxis bei vielen Geräten. 
Nach dem Update einfach die Firmwaredatei von der Karte löschen, beim 
nächsten boot wird nix gefunden und der Code aus dem Flash ausgeführt.
Wenn wirklich jeder Start von der SD Karte erfolgen soll dann ist es 
natürlich sinnvoller ins RAM zu schreiben. Der F4 hat mit internen 512 
kB oder evtl. externem SDRAM ja reichlich Reserven.
Gut ist einfach das der ARM Cortex die Architektur hat mit der das 
möglich ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren