STM32L151 - FW-Update

Gast #4834607
Lesenswert?
• ▲
▼
Hi!

Auf eine Baugruppe verwende ich einen STM32L151RD (mit 384kByte Flash).
Die FW ist zur Zeit knapp 100 kByte groß.
Ziel ist es, über die Datenschnittstelle ein neues FW Image zu laden.
Da hier ein proprietäres Protokoll läuft, müsste man das Image zunächst 
im extra so großen Flash zwischengespeichert, validiert und dann "final" 
geflasht  werden.
Beim letzteren hakt's nun. Ich müsste das mit dem Bootloader machen, 
aber wie bringe ich den dazu von Flash-Adresse 0x2xxxxx auf Adresse 
0x2000000 zu flashen!? Was für einen Bootloader nimmt man dazu am 
Besten?

Danke & Grüße für eure Tipps!

Viele Grüße
Martin
#4834622
Lesenswert?
• ▲
▼
Booty schrieb:
> Was für einen Bootloader nimmt man dazu am
> Besten?

Einen selbstgeschriebenen. Man lädt eine Page ins RAM und nimmt dann die 
normale RAM2Flash Funktion.

Interessanter sind die Übergange (Applikation->Bootloader-> neue App) 
beim Flashen wenn die Stromversorgung ausfallen kann. Ein guter 
Bootloader behandelt auch diese Fälle korrekt.
Gast #4835109
Lesenswert?
• ▲
▼
Lutz schrieb:
> Jim M. schrieb:
>> Man lädt eine Page ins RAM und nimmt dann die normale RAM2Flash
>> Funktion.

Bin verwirrt!

Das die FW Fragemente zunächst ins RAM und anschließend ins Flash 
geschrieben werden ist für mich logisch. Dann liegt das FW-Image im 
Flash irgendwo hinter der bestehenden Applikation. Man kann eine 
Prüfsumme darüber berechnen und mit einem Sollwert vergleichen. Ist das 
ok, muss eben dieses Image von einem Bootloader aus dem Adressbereich 
hinter der aktuellen FW-Version an den Anfang (0x80000000) kopiert 
werden. So einen Bootloader oder ein How-To suche ich. Wenn ich nach 
"STM32 Bootloader" googel bekomme ich nur Ergebnisse zum integrierten 
Bootloader der von UART1 aus angesteuert/bedient werden kann. Der hilft 
mir nach meiner gegenwärtigen Recherche nicht weiter.
Gast #4835122
Lesenswert?
• ▲
▼
Du bestimmst doch, wo an welche Adresse im Flash etwas geschrieben wird. 
Haeppchenweise. IAP ist das Stichwort. Musst nur ein paar Sachen 
beachten. Halt alle für FW-Update erforderliche Funktionen ins RAM, VTOR 
usw..

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