STM32 Bootloader Taster

Gast #3930976
Lesenswert?

Hallo,

Ich suche nach einer Möglichkeit über eine Taste den Bootloader zu 
starten.
Im Normalfall soll der STM32 bei Power ON sein Programm starten.

Wenn jemand den STM32 leer vorfindet soll er per Tastendruck den 
Booloader Starten können.

Natürlich könnte man an Boot0 eine Taste bauen und dann das Netzteil 
einschalten. Oder 2 Tasten erst Boot0 dann Reset und Reset loslassen und 
Boot0 wieder loslassen. Das ist mir für Laien zu kompliziert.

ich habe mal eine Schaltung im Anhang gepostet die das erfüllt. 
Allerdings würde ich mich ärgern wenn es einfacher mit irgend einem 
Resetcontroller geht.

Danke schon mal.

Martin
Angehängte Dateien:
Gast #3931107
Lesenswert?

Vieleicht war er nie voll!

Fehler in der Kommunikation, dieser Bootloader hat beim CAN kein 
Netzwerkmanagement. Funkt jemand dazwischen steht Schrott im Speicher. 
Bootet man ausversehen, kommt man nur als Spezialist wieder in den 
Bootloader. Wegen so etwas will ich nicht nach Asien gurken müssen.
Gast #3931219
Lesenswert?

Dennis Heynlein schrieb:
> Es spricht aber nichts gegen einen eigenen Bootloader.
> Kostet so ~ 8 kByte.
> Habe das in einem Projekt schon erfolgreich verwendet.
> Waren dann allerdings > 8 kByte weil die Firmware mit AES-256
> verschlüsselt aufgespielt wurde und CAN fürs hochladen benutzt wurde und
> der STM keine AES-Option hatte.

Ach so meintest du das. Ich dachte, es ist die Rede vom eingebauten BL. 
Dann okay. :-)
Gast #3931253
Lesenswert?

Hm, eine Alternative zu meiner Frage ist das alles nicht. Es werden im 
AppNote noch andere Patterns beschrieben. Aber es kommt für den STM32F4 
nur Pattern 1 in Frage. Ich habe schon einen Bootloader für den MC68HC12 
realisiert.  Dort hatte ich hin und wieder das Problem, das während des 
Flashprozesses das Toolfile versagt hat. Dieses war nur 512 Byte groß 
und hatte keine Reserven für Fehlerbehebung.  Deshalb möchte ich den 
internen Bootloader als fallback Lösung und für die Inbetriebnahme 
verwenden.
Persönliche Seite #3931303
Lesenswert?

Eine Lösung ist, der Bootloader startet das Hauptprogramm nicht und 
wartet auf ein hochladen der Firmware, wenn er durch die 
Checksum-Prüfung ermittelt, daß das Hauptprogramm defekt ist.

Man spart den Knopf, weil der Bootloader selbst auf das Firmware-Update 
wartet wenn was nicht stimmt.

Zweimal das Hauptprogramm vorhalten ist aufwendig, weil die absoluten 
Adressen dann nicht mehr wirklich stimmen.

Wenn man allerdings die Firmware in einen gesonderten Bereich überträgt 
und erst bei erfolgreicher Übertragung in den eigentlichen 
Haupt-Programm-Bereich durch den Bootloader brennt wäre der Taster auch 
überflüssig.

Hauptprogramm kaputt + Uploadimage Ok und neuer
-> Brennen Uploadimage in Hauptprogrammflash

Hauptprogramm Ok + Uploadimage kaputt
-> Hauptprogramm starten

Kostet aber natürlich den halben Flash :)
Gast #3931389
Lesenswert?

Disco schrieb:
> Ein eigener Bootloader nutzt aber nicht wenn der Flash halb
> gelöscht ist.

Der Bootloader befindet sich im Flash-Sektor 0 und wird niemals 
gelöscht. Der Sektor kann auch schreibgeschützt werden. Das 
Anwendungsprogramm kommt in die restlichen Sektoren.

Für die erste Inbetriebnahme muss natürlich der eingebaute Bootloader 
verwendet werden. Aber der läuft ja in einer sauberen Umgebung.

Dennis Heynlein schrieb:
> Hauptprogramm kaputt + Uploadimage Ok und neuer
> -> Brennen Uploadimage in Hauptprogrammflash
>
> Hauptprogramm Ok + Uploadimage kaputt
> -> Hauptprogramm starten
>
> Kostet aber natürlich den halben Flash :)

Deswegen schreibe ich das neue Image erstmal per SPI in ein NOR-Flash. 
Da könnte man sogar mehrere Reserve-Images unterbringen.
Persönliche Seite #3931788
Lesenswert?

Disco schrieb:
> Allerdings würde ich mich ärgern wenn es einfacher … geht.

Interessante Fragestellung, dafür brauche ich auch noch 'ne Lösung.

Ich hätte es vielleicht mit zwei Schmitt-Triggern (1 x Open-Drain) und 
zwei R-C-Gliedern probiert.

Den LTC6993 gibt's leider nicht bei Mouser. Bei Digikey bestelle ich 
selten. Eine Lösung mit "Allerwelts-ICs" fände ich attraktiver.

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