STM32 serial bootloader flash tool

Präsentation und Organisation von eigenen Projekten
Antworten
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

STM32 serial bootloader flash tool

Beitrag von cloidnerux » Mi Feb 05, 2014 11:50 am

Ich muss im Moment Firmware für STM32F2 Mikrocontroller schreiben und bin über das Problem gestolpert, diesen auch über den seriellen Bootloader zu Programmieren.
Dafür gibt es nicht viele Tools und keins wollte bei mir Funktionieren. Bis ich ein Python Script gefunden habe, das zwar für Python 2.6 geschrieben wurde, aber immerhin veränderbar ist. Das Tool stammt von "Ivan A-R" und wurde von mir nur angepasst.
Um meine Bemühungen das Script nach Python 3.3 nicht verlieren zu lassen, will ich es hier mit der Welt teilen.
Bisher habe ich nur das flashen auf einem STM32F207 probiert, es kann und es wird vorkommen, dass es für andere Controller nicht funktioniert.
Ein Knackpunkt ist das Erase-Kommando:
Es gibt in der Protokollbeschreibung(AN3155) den Hinweis, dass es zwei unterschiedliche Kommandos gibt: 0x43 und 0x44, die Exklusiv sind, entweder gibt es das eine, oder das andere.
Wenn man einen Controller mit 0x43 hat, dann muss man das Kommando in der Funktion cmdEraseMemory anpassen sowie die Daten die gesendet werden(Das ist dann nur noch 1 Byte + Prüfsumme)
Es kann passieren, das Lesevorgänge exceptions auslösen, da ungültige Notationen verwendet wurden. Die "map" Funktion hat eine andere Funktionalität bekommen.
Zudem muss ein byte für die serielle Schnittstelle folgendermaßen übertragen werden:

Code: Alles auswählen

self.sp.write(bytes([c]))
damit es ordnungsgemäß übertragen wird. Andere aufrufe könnten dazu führen, dass 0en Übertragen werden.

Mit freundlichen Grüßen

cloidnerux
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: STM32 serial bootloader flash tool

Beitrag von Xin » Mi Feb 05, 2014 1:43 pm

Ist das nicht eher etwas für's Wiki unter Projekte?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: STM32 serial bootloader flash tool

Beitrag von cloidnerux » Mi Feb 05, 2014 1:48 pm

Ist das nicht eher etwas für's Wiki unter Projekte?
Sicherlich schon. Ich wollte aber erstmal das los werden und das machen, wofür ich bezahlt werde :D
Noch gibt es den ein oder anderen Bug, wenn es denn soweit funktioniert, dass man es verwenden kann, kommt das mit Schaltplan und allem drum un dran ins Wiki, versprochen ;)
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: STM32 serial bootloader flash tool

Beitrag von Xin » Mi Feb 05, 2014 1:56 pm

cloidnerux hat geschrieben:
Ist das nicht eher etwas für's Wiki unter Projekte?
Sicherlich schon. Ich wollte aber erstmal das los werden und das machen, wofür ich bezahlt werde :D
Noch gibt es den ein oder anderen Bug, wenn es denn soweit funktioniert, dass man es verwenden kann, kommt das mit Schaltplan und allem drum un dran ins Wiki, versprochen ;)
Wir haben auch ein Subversion-Repository für's Wiki.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: STM32 serial bootloader flash tool

Beitrag von cloidnerux » Mi Feb 05, 2014 8:53 pm

Wir haben auch ein Subversion-Repository für's Wiki.
Komm auf die dunkle Seite der Macht, wir haben Kekse!
Aber Artikel existiert inzwischen!
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten