Pages: [1]
|
|
|
|
Author
|
Topic: Firmware-Projekt "Bootloader" (Read 2742 times)
|
|
DF8OE
Administrator
Offline
Posts: 6284
Stellvertr. OVV I40, Jugend / Nachwuchsreferent
|
|
Firmware-Projekt "Bootloader"
« on: 25. September 2015, 07:41:16 »
|
|
Ich nehme aus den unterschiedlichsten Gründen an, dass wir hier in Zukunft einen Fork der existierenden Firmware weiterentwickeln werden. Es ist dann freilich unsere Aufgabe, Neuerungen von Clint einzufügen - aber das ist möglich.
Das Erste, um was wir uns kümmern müssen, ist der Bootloader. Er enthält proprietären Code und ist urheberrechtlich geschützt. Die Aufgaben des Bootloaders sind überschaubar:
1) Er legt den Pin PC8 auf L wenn der Power-Button den Pin PC13 für mindestens 0.5s auf L gelegt hat und springt dann an den Start des User-Codes 2) Er versetzt das Gerät bei gedrücktem "BAND-" beim Einschalten in den Update-Modus, in dem die beiden LEDs blinken und die Firmware per proprietärem Code geladen werden kann
Ich habe einen Code für das Discovery-Board gefunden, der sich auch "Bootloader" nennt und folgendes tut:
Er wird durch einen Knopfdruck gestartet. Findet er am USB-Anschluß einen USB-Stick mit einer Datei "image.bin" darauf, lädt er diese (in 1.5s) und flasht sie. Danach springt er an die Stelle des Usercodes. Wird kein USB-Stick gefunden, springt er sofort zum normalen Usercode.
Github zum Projekt Es juckt mich in den Fingern das umzuschreiben und den Bootloader zu ersetzen... Leider habe ich durch den kurz bevorstehenden Projektstart und die Arbeit an dem Buch keine Zeit, es umzusetzen. Es wäre ein sehr guter "Start" unserer Firmwareweiterentwicklung, wenn wir den Code entsprechend anpassen könnten und so einen Bootloader herausgeben könnten, der
- quelloffen ist
- keinen PC zum Firmwareupgrade benötigt (und damit auch keine Spezialsoftware)
- voll kompatibel zur alten Firmware ist, bedeutet, man kann den alten BL einfach gegen den neuen austauschen und alles bleibt kompatibel - bis auf die neue FW-Upgrademethode
Kann diesen Ball jemand aufnehmen?
vy 73 Andreas
|
|
Logged
|
Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen... qrz.com-Seite von DF8OE
----------------------------------------------------- >>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #2 on: 26. September 2015, 20:09:35 »
|
|
Also .dfu Dateien haben ein paar Extra-Infos im File. Diese sind nach der "Device Firmware Upgrade" Spezifikation des USB Forums definiert. Du müsstest das fw_upgrade.bin durch das Tool schieben, dass das Binär-Image mit dem dfu Umschlag versieht.
Allerdings habe ich da zwei Sorgen... 1) Das fw_upgrade.dfu kann man erst flashen, wenn man fw_upgrade.bin geflasht hat, da war mal was mit der Henne und dem Ei... Ich bin mir nicht sicher, ob das jemals vorgesehen war.
2) Der STM32 kann nicht in einer bank read-while-write. Das fw_upgrade modul muss sich also vor dem Start erst einmal selbst ins RAM kopieren, dann könnte es sich von dort auch mit einer Versio seinerselbst überschreiben. Tut es das nicht, kann es immer nur die andere Bank upgraden, aber nie sich selbst.
Ich wäre also immer noch dafür, den USB-Loader anzuspringen und den Bootloader zu eliminieren. Dazu muss man auch die Firmware mit einem Tool behandeln, und das Ergebnis auf einen Stick kopieren, der dann wiederum an den USB-OTG gesteckt wird…
Sobald ich den letzten HW Bug erschlagen habe, mache ich in der Software weiter. Eine grobe Idee, was ich dazu denke, habe ich ja in wip/cleanup eingecheckt. Das compiliert noch nicht, zeigt aber, wie man Treiber aufbauen kann... Ist aber noch viel zu tun...
73! Ulrich
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
DF8OE
Administrator
Offline
Posts: 6284
Stellvertr. OVV I40, Jugend / Nachwuchsreferent
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #3 on: 29. September 2015, 06:31:01 »
|
|
Ich habe mich nun an diese Baustelle herangemacht und bin auch schon recht weit fortgeschritten. Der neue Bootloader wird den alten ersetzen können ohne dass sich Gerätefunktionen ändern oder man eine bestimmte Firmware bracuht.
Mit diesem Bootloader braucht man dann keinen PC mehr, um Firmwareupdates zu machen. Man steckt einfach einen USB-Stick mich FAT-Dateisystem und der Firmware-Datei (die dann mchf.bin heißen muss) in die USB-Buchse und startet das Gerät wie gewohnt mit gehaltener BAND- - Taste. Lässt man die BAND- - Taste sofort wieder los, wird lediglich die Firmware aus dem mchf auf dem USB-Stick gesichert und das Gerät startet danach ganz "normal". Hält man BAND- - Taste länger als 3 Sekunden gedrückt, wird zunächst die alte Firmware gesichert und danach die neue, auf dem USB-Stick befindliche Datei geflasht. Nach erfolgreichem Vorgang startet das Gerät dann sofort in die neue Firmware.
Da auch diverse Fehlerhandlings (kein USB-Stick eingesteckt, USB-Stick mit falschem Dateisystem, USB-Stick mit beschädigtem Dateisystem, fehlende mchf.bin - Datei etc.) beachtet werden müssen wird es bis zum endgültigen Release noch ein paar Tage dauern. Aber eben nur noch Tage - nicht Wochen
vy 73 Andreas
|
|
Logged
|
Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen... qrz.com-Seite von DF8OE
----------------------------------------------------- >>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
|
|
|
dh1bay
Neuling
Offline
Posts: 21
probleme der menschen sitzen zwischen den ohren
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #4 on: 29. September 2015, 08:30:14 »
|
|
Super ,beobachte Eure acktivitaeten und bekomme in den naechsten tagen Platinen und LCD.72 de dh1bay
|
|
Logged
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #5 on: 29. September 2015, 10:30:38 »
|
|
Hervorragend!
kann ich Dich irgendwie unterstützen?
vy 73! Ulrich
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #7 on: 29. September 2015, 18:45:44 »
|
|
Schon mal daran gedacht den Loader als Flashdrive laufen zu lassen? Dann kann man die alte Firmware herunter kopieren und die neue drüber kopieren... So macht es der ST-Link Adapter der Nucleo-Boards von STM.
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
|
|
|
DL1MX
Neuling
Offline
Posts: 8
Ich liebe dieses Forum!
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #11 on: 13. November 2015, 15:04:22 »
|
|
Dann wäre es doch fast sinnvoll die beiden Buchsen bzw. die vier Drähte zu zu tauschen, oder? Dann brauche ich keinen Adapter, kann den USB-Stick direkt einstecken, später evtl. Konfiguration, Audios, Speicher ex- und imporieren und an die kleine Buchse hänge uch den Laptop, etc..
Gruß Marco
|
|
Logged
|
mcHF (v0.4) up and running
|
|
|
|
hb9frh
schon länger dabei
Offline
Posts: 57
Ich liebe dieses Forum!
|
|
Re:Firmware-Projekt "Bootloader"
« Reply #13 on: 13. November 2015, 15:27:05 »
|
|
Ich verstehe nicht ganz... Man kann doch beide als USB-A ausführen und entsprechend beschriften.
Oder bin ich da falsch?
73, René
|
|
Logged
|
|
|
|
|
Pages: [1]
|
|
|
|
|
|
|