logo
Welcome, Guest. Please Login or Register.
29. April 2024, 07:27:18


Home Help Search Login RegisterWIKIUHSDR Download

Amateurfunk Sulingen
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Firmware-Projekt "Bootloader" <- zurück vorwärts ->
Pages: [1] Go Down Print
   Author  Topic: Firmware-Projekt "Bootloader"  (Read 2434 times)
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
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! <<<<
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #1 on: 25. September 2015, 16:01:07 »

Ich habe mir die Quellen mal geholt. Mit make im Ordner Project/FW_upgrade/src wird mir auch ein Binary gebaut (fw_upgrade.bin mit 35524 Bytes). Wenn ich das als Bootloader verwenden will, möchte ich es im dfuse-Modus in den STM schieben - sollte also als Dateiendung .dfu haben. Es gibt auch schon ein vorgebautes Binary
im Ordner Project/FW_upgrade/Binary mit Namen STM32F4-Discovery_FW_Upgrade_V1.0.0.dfu mit 18669 Bytes. Ich verstehe den Zusammenhang nicht zwischen dem von mir gebauten Binary und der .dfu-Datei. Kann mir jemand auf die Sprünge helfen?

vy 73
Andreas

Nachtrag:
Habe gerade ein kleines Python-Script gefunden namens "hex2dfu". Das habe ich mal auf das .hex losgelassen: Ergebnis ist ein .dfu - allerdings ebenfalls um die 35K groß 
« Last Edit: 25. September 2015, 16:33:51 by DF8OE » 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!

View Profile
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: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
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

View Profile E-Mail
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!

View Profile
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...
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #6 on: 29. September 2015, 18:33:19 »

Nicht mehr - bin fast fertig. Ein ALPHA-Bootloader läuft schon auf meinem mcHF (!!!) - er flasht auch schon und liest auch schon. Ich habe aber noch nicht alle möglichen Fehler abgefangen, was unbedingt nötig ist (z.B. kein Platz mehr auf dem Stick für eine Sicherung der FW, Stick schreibgeschützt etc. pp) aber das ist nur noch eine Frage von Tagen 

Leider zieht das Ganze eine weitere Hardware-Mod nach sich, da Chris "vergessen" hat, die +5V via Diode und Polyfuse auf die OTG-Buchse zu legen...

Die erste Beta wird noch diese Woche zum Testen freigegeben.

Wer schon mal Teile beschaffen will:
1 Schottky-Diode (SMD) mit möglichst geringem Spannungsabfall und Imax > 500mA
1 Polyfuse 200...500mA
1 USB-Stick mit Mikro-USB-Stecker oder ein Adapter Mikro-USB-Stecker auf USB-A-Buchse

Leider ist DL mal wieder nicht auf dem aktuellen Stand. Es gibt Sticks, die BEIDE USB-Stecker-Normen vereinen - aber eben nicht in DL:

aber hier gibts die

vy 73
Andreas
« Last Edit: 30. September 2015, 13:39:11 by DF8OE » 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!

View Profile
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...
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #8 on: 29. September 2015, 19:01:11 »

Mein Bootloader wird folgende Funktionen haben:

1) nur Sicherung der existierenden Firmware mchf --> USB-Stick
2) erst Sicherung der existierenden Firmware mchf --> USB-Stick, anschliessend Neuprogrammierung des auf dem Stick vorhandenen Binaries

Das läuft auch schon soweit 

Der Bootloader ist 100% kompatibel mit dem bestehenden Firmware-Konzept; man kann damit Clints Firmware und auch die aus meinem/unserem Github verwenden.

Nur muss man sich entscheiden:
Entweder Update via PC und Windows mchf-manager

oder

Update per USB-Stick

Beides gleichzeitig bzw. wahlweise geht nicht.

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! <<<<
DL1MX
Neuling
*

Offline

Posts: 8



Ich liebe dieses Forum!

View Profile
Re:Firmware-Projekt "Bootloader"
« Reply #9 on: 13. November 2015, 13:46:15 »

Hallo Andreas,

warum geht der Bootloader eigentlich nicht an der J10 USB Buchse? Hab mal kurz gegoogelt und scheinbar geht auch der USB HS Anschluß an PB14/PB15.

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy.st.com%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fUSB%20High%20Speed%20core%20with%20embedded%20phy&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=1864

Gruß
  Marco
Logged

mcHF (v0.4) up and running
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #10 on: 13. November 2015, 14:56:02 »

...weil ich diese Buchse freihalten möchte für DMA-Anwendungen wie "mcHF wird als Soundkarte erkannt" und am zweiten Port soll ein USB-Stick hängen für diverse Funktionen 

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! <<<<
DL1MX
Neuling
*

Offline

Posts: 8



Ich liebe dieses Forum!

View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #12 on: 13. November 2015, 15:19:51 »

Bei den geplanten Erweiterungen kommt der Adapter dann nur später. Es wäre am Besten gewesen, gleich beide Buchsen als USB-A auszuführen. Aber wir müssen das nehmen, was wir haben. Basteln ist aber nicht verboten...

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! <<<<
hb9frh
schon länger dabei
**

Offline

Posts: 57



Ich liebe dieses Forum!

View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware-Projekt "Bootloader"
« Reply #14 on: 13. November 2015, 16:05:48 »

Nein René - Du liegst ganz richtig. Das meinte ich mit "basteln"...

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! <<<<
Pages: [1] Go Up Print 
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Firmware-Projekt "Bootloader" <- zurück vorwärts ->
Jump to: 


Login with username, password and session length

 Es wird die Verwendung von Browsern die auf der "Blink"-Engine basieren und mindestens
1024x768 Pixel Bildschirmauflösung für die beste Darstellung empfohlen
 
Amateurfunk Die Beiträge sind, sofern nicht anders vermerkt, unter der folgenden Lizenz veröffentlicht:
GNU Free Documentation License 1.3 GNU Free Documentation License 1.3
verbindet!
Powered by MySQL Powered by PHP Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Impressum & Disclaimer
Valid XHTML 1.0! Valid CSS!