Programmierung des Bootloaders

Um mir die weitere Arbeit mit den beiden Platinen zu erleichtern habe ich, auf Anregung von Wolfgang, DL2JWL, einen Adapter angefertigt. Ein erster Versuch mit Flachbandkabel war unbefriedigend. Die dünnen Stiftleisten sind mechanisch nicht belastbar und zerbrechen sehr schnell beim Abziehen. Gleiches gilt für das Flachbandkabel. Abgebrochene Kabel stellten beim Testen der Schaltung eine äußerst lästige Fehlerquelle dar. Ich habe daher die Stift- und Buchsenleiste auf eine vorhandene Lochrasterplatine montiert und die Kontakte miteinander verbunden. Diese Konstruktion ist mechanisch stabil und funktioniert bisher einwandfrei.

Abb. 1 -

Abb. 1 - Adapter mit Flachbandkabel

Abb. 2 -

Abb. 2 - Adapter mit Lochrasterplatine

Des Weiteren habe ich einen SMD DIP-Schalter parallel zu S17 montiert und damit die von mir zuvor benutzte Drahtbrücke ersetzt. Ein Pin wird direkt an S17 gelötet. Für die nötige Masseverbindung des zweiten Pins habe ich neben S17 an einer kleinen Stelle den Lötstoplack entfernt. Der Schalter wird für die Installation des Bootloaders benötigt und kann auf Grund seiner Größe auf der Platine verbleiben.

Abb. 3 -

Abb. 3 - DIP-Schalter an S17

Der Bootloader des mcHF wird mittels des im STM32F4 Prozessor enthaltenen Factory Bootrom installiert. Dafür wird das ausschließlich unter Windows lauffähige Tool DfuSe von STMicroelectronics benötigt. Es kann hier heruntergeladen werden. Da mein Computer unter Linux läuft, habe ich VirtualBox mit Windows 7 verwendet. Die Infos von M0NKA sind unter http://www.m0nka.co.uk/wp-content/uploads/2016/03/Bootloader-Install.pdf zu finden.

Nach der Installation von DfuSe unter Windows 7 sind folgende weitere Schritte notwendig:

  • Der Jumper P6 auf der Unterseite der UI-Platine ist zu schließen.

Abb. 4 -

Abb. 4 - Jumper P6 geschlossen

  • Die UI-Platine und die RF-Platine sind direkt oder über den Adapter miteinander zu verbinden. Am Stromversorgungsanschluss der RF-Platine sind 12V anzulegen (Stromaufnahme ca. 200mA).
  • Die USB-Buchse J11 (kleine Buchse) ist mit dem Computer zu verbinden.
  • Den “Band +” Taster (S14) drücken und gedrückt halten.
  • Den “Power” Taster (S17) drücken und gedrückt halten. Alternativ kann der zuvor installierte DIP-Schalter betätigt werden.
  • Der “Band +” Taster kann losgelassen werden. Der “Power” Taster bleibt während des gesamten Programmiervorgangs gedrückt.
  • In Windows sollte jetzt ein neues USB-Gerät erscheinen. Bei der Nutzung von VirtualBox ist das USB-Gerät zuvor über den Menüpunkt Geräte zu aktivieren.
  • Jetzt kann die DfuSe Demo Anwendung gestartet werden. Diese erkennt das USB-Gerät automatisch. Veränderungen an den Optionen in der Anwendung können zu einer Zerstörung des Prozessor führen und dürfen daher nicht vorgenommen werden.

Abb. 5 -

Abb. 5 - USB-Gerät wurde in VirtualBox erkannt

  • Über die Schaltfläche “Choose” wird die Bootloaderdatei mit der Endung *.dfu ausgewählt. Ich habe den Bootloader Version mcHF_boot_0.0.0.14 verwendet.
  • Durch Betätigen der Schaltfläche “Upgrade” wird die Installation des Bootloaders gestartet. Sobald die Meldung “Upgrade successful” erscheint können der mcHF von der Stromversorgung getrennt (ggf. installierten Schalter zurücksetzen) und der Jumper P6 entfernt werden.

Abb. 6 -

Abb. 6 - DfuSe mit geladener Bootloaderdatei

Der mcHF ist damit für die Installation der Firmware vorbereitet.

Programmierung der Firmware

Die Programmierung der Firmware des mcHF erfolgt mit einem kleinen Programm mit dem Namen mcHFManager, welches Chris, M0NKA auf seiner Webseite zum Download bereitstellt. Wie bereits für die Installation des Bootloaders ist auch hierfür Windows erforderlich. Die Infos von M0NKA sind unter http://www.m0nka.co.uk/wp-content/uploads/2016/03/Firmware-Upgrade.pdf zu finden.

Die Programmierung erfolgt in folgenden Schritten:

  • Der mcHF wird in ausgeschaltetem Zustand über die USB-Buchse J11 (kleine Buchse) mit dem Computer verbunden.
  • Den “Band -” Taster (S4) drücken und gedrückt halten. Anschließend wird der „Power“ Taster (S17) kurz betätigt. Das Display des mcHF bleibt schwarz und beide LEDs blinken.
  • Bei der erstmaligen Programmierung wird unter Windows ein neues USB-Gerät erkannt und automatisch der Treiber installiert. Bei der Benutzung von VirtualBox muss man zuvor das USB-Gerät aktivieren. War die Treiberinstallation erfolgreich, kann jetzt das Programm mcHFManager gestartet werden.

Abb. 7 -

Abb. 7 - mcHFManager unter Windows 7 in VirtualBox

  • Nach Betätigen der Schaltfläche “Detect” werden die Bootloaderdetails angezeigt.
  • Über die Schaltfläche “…” wird die Firmwaredatei mit der Endung *.bin ausgewählt. Ich habe für alle Tests die Firmware mchf_eclipse_219_23 benutzt.
  • Durch Betätigen der Schaltfläche “Update” wird die Firmware in den Prozessor des mcHF installiert. Anschließend sollte der mcHF neu starten.

Jetzt erfolgt durch “Einschalten” der erste Test der UI-Platine. Wenn bisher keine Fehler gemacht wurden sollte das Display wie auf den nachstehenden Bildern aussehen.

Abb. 8 -

Abb. 8 - Bootvorgang des mcHF

Abb. 9 -

Abb. 9 - Bedienoberfläche des mcHF mit Spektrumdisplay

Abb. 10 -

Abb. 10 - Bedienoberfläche des mcHF mit Spektrumdisplay

Bei mir sah es natürlich nicht so aus ;-). Das Bild des Displays war von schwarzen, horizontalen Streifen durchzogen und die Spektrumanzeige verteilte sich irgendwie über die gesamte Fläche. Es gab jetzt zwei Möglichkeiten, entweder das Display war defekt oder die Ansteuerung durch den Prozessor des mcHF funktionierte nicht richtig. Ich habe daher versucht systematisch vorzugehen. Als erstes habe ich die Bestückung der relevanten Bauteile geprüft. Eine falsche Bestückung und ein Defekt des Prozessors wurde auf Grund der erfolgreichen Programmierung des Bootloaders und der Firmware ausgeschlossen. Zweitens, ein Defekt des Displays war nicht auszuschließen, aber erschien mir relativ unwahrscheinlich. Als Drittes habe ich mit einer kleinen, billigen Lötnadel für 12V alle Prozessorpins nochmals einzeln mit Flussmittel nachgelötet, um mögliche “kalte” Lötstellen auszuschließen. Beim anschließenden Funktionstest waren, wie auf den Bildern zu erkennen ist, die Störungen verschwunden.

Autor: Michael, DL3MIK