Forum: Mikrocontroller und Digitale Elektronik Bootloader für STM32F0 für 1-Wire UART


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Florian J. (fjay24)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab nach längerer Tätigkeit auf höherer SW-Ebene mal wieder das 
Vergnügen tiefer zu tauchen.

Meine Anforderung ist, ich brauche einen Bootloader für einen STM32F0, 
der über 1-Wire UART funktioniert. Ich hab damit jetzt noch nichts 
gemacht, über die normale UART Schnittstelle oder CAN etc. gibt es eine 
gute Auswahl fertiger BLs. Leider konnte ich keine für diesen 
spezifischen Anwendungsfall finden.

Hat von euch schon mal so einen genutzt  entwickelt  bezogen?

Vielen Dank!

Flo

von Thomas E. (picalic)


Bewertung
1 lesenswert
nicht lesenswert
Servus,

ich benutze eigentlich fast ausschließlich single-Wire/Halbduplex, 
wenn's über UART läuft. In unserer Firma auf verschiedenen STM32 (diesen 
Code kann ich natürlich nicht zur Verfügung stellen), privat für PIC12 
und PIC16 (http://www.picalic.de/projects/bootloader/). Weil es sich 
dabei fast immer um RC-Modellbau dreht, bietet sich das über den 
normalen 3-Pin Servostecker (GND,VCC,Signal) an.

Da Bootloader i.d.R. sowieso im "Ping-Pong"-Verfahren mit dem Host 
kommunizieren (d.h. Host schickt irgendwelche Anforderungen an den 
Bootloader, der verarbeitet es und schickt irgendwas zurück - die 
Datenrichtung ergibt sich also schon über das Protokoll und Kollisionen 
sind kein Problem), sollte es eigentlich kein großes Problem sein, 
irgend einen Vollduplex-UART Bootloader auf SW zu modifizieren. Der BL 
muss halt nur seine eigenen, gerade gesendeten Daten ignorieren, da der 
UART die ja auch gleich selbst wieder empfängt.
Die STM32-USARTs sind dafür übrigens auch gut geeignet, da dort 
Halbduplex mit Open-Drain Ausgang nur über den Tx-Pin schon 
hardwareseitig implementiert ist.

: Bearbeitet durch User
von Florian J. (fjay24)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

vielen Dank für die Tipps, das hört sich schon mal gut an, wenn es 
grundsätzlich möglich ist einen fertigen zu modifizieren.
Ich werde mir mal einen "normalen" BL besorgen und diesen mal studieren.

Gibts da irgendwo ne Quelle für kostenlose BLs?

Viele Grüße!

Flo

von Thomas E. (picalic)


Bewertung
0 lesenswert
nicht lesenswert
Florian J. schrieb:
> Gibts da irgendwo ne Quelle für kostenlose BLs?

Sicher - habe selbst jetzt aber nicht unbedingt nach Bootloadern für 
STM32 gesucht. Den Bootloader in unserer Firma gab es schon, als ich 
dort angefangen habe, und der wird halt jeweils auf neue Hardware und 
Features nach Bedarf angepasst, z.B. USB statt UART o.ä. STM selbst hat 
ja auch den eigenen (2-wire) Bootloader fest im Controller, aber der ist 
AFAIK nicht Quelloffen. Das Protokoll findet man wohl in irgendeiner 
Appnote. Ich kenne den ST Bootloader selbst auch nur als Anwender.

Sonst kannst Du ja auch nach BL-Quelltext in C bei anderen Herstellern 
suchen. Spontan fällt mir nur ein, daß es wohl einen für 8-Bit-AVRs 
gibt, mit AES Verschlüsselung. Ggf. muss ja nur der Hardware-nahe Teil 
angepasst werden.

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]
  • [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.