www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 Bootloader aus der Applikation heraus starten


Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jemand eine Idee, wie man den STM32 internen Bootloader aus der 
eigenen Applikation heraus starten kann?
Ich habe keine Möglichkeit die Boot0 und Boot1 Pins zu toggeln. Kann man 
z.B. den PC einfach auf die Bootloader Startadresse (0x0000 0000) 
umsetzen? In den AppNotes finde ich nur die die Startvariante nach einem 
Reset und dem Toggeln der Boot Leitungen.

Gruß
Florian

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat das Ding keinen Watchdog?

Wenn ja Watchdog starten und in eine while(1); laufen...

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das bringt mir nichts, da ich dann die Boot0 und Boot1 Leitungen Toggeln 
muss. Ich kann ein Reset mit GenerateSystemReset() auslösen. Ich will 
aber kein Reset sondern einen Aufruf den Bootloaders, ohne Abfrage der 
Boot Pins.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob das geht hängt davon ab, wie der Bootloader programmiert wurde.

Der liegt ja im System Memory, aber im Bootloader-Modus liegt dieses 
gespiegelt an Adresse 0. Wenn er nur auf dieser Spiegeladresse läuft, 
dann geht das ohne Reset und Boot-Pins wohl überhaupt nicht.

Wirst wohl mal reinschauen müssen. Wenn du Glück hast, dann zeigt der 
Bootloader-Resethandler direkt ins System Memory. Dann könnte es 
funktionieren, indem du nach entsprechender Initialisierung vom 
Stackpointer dort reinspringst.

Autor: Plan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab schon mal einen eigenen USB Bootloader programmiert. Dazu habe 
ich die ersten 8KB Flash genommen, das eigentliche Programm läuft ab der 
8KB Adresse.
Das ganze hatte ich in einem einzigen Code Programmiert, also der 
Bootloader und die Firmware waren ein Projekt.
War ziemlich trickreich mit dem Speicherbereich, aber ging.

Der Knackpunkt war, aus der Firmware die USB Verbindung dem Bootloader 
zu übergeben, so dass dieser mit der gleichen USB Kommunikation den 
Flash updaten konnte...
(Auch die selbst geschriebene PC-Software macht die Bedienung und den 
FW-Update)

Selbst ist der Mann/Frau.

Eine Möglichkeit die eigene Flash-Routine zu starten kenne ich auch 
nicht.

In diesem Forum bekommst Du garantiert Hilfe:
http://www.st.com/mcu/forumsid-23.html
Direkt von ST.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.