Firmware- und FPGA-Update

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen

Setzt eine funktionierende Platine mit Bootloader voraus. Vorbereitung des USB-Kabels und Download der Firmware/Dokumentation wie unter Inbetriebnahme der Bausatz-Platine beschrieben. Das Upgrade/Update verlangt gewisse Kenntisse im Umgang mit Programmier-Tools; es kann im Zweifelsfall auch direkt bei uns geschehen, indem Sie Ihre Platine senden an:

Carsten Meyer
HOAX-Upgrade
Warneckeweg 12
31303 Burgdorf

FTDI Kabel an HOAX-Platine angeschlossen, Reset-Jumper gesteckt für Firmware-Update über Bootloader

Update der Controller-Firmware per Bootloader

Der AVR-Controller ATmega644 kümmert sich auf der HOAX-Platine um die Abfrage der Bedienelemente und die Auswertung der empfangenen MIDI-Controllernummern. Bei kleineren Änderungen der Firmware sollte keine EEPROM-Programmierung erforderlich sein; Sie müssen dann nur hoaxflash.bat ausführen. hoaxflasheeprom.bat dagegen beschreibt auch das EEPROM neu. VCP-Treiber für FTDI-Kabel und ggf. Terminal-Programm TeraTerm 4.7x müssen installiert sein (siehe Inbetriebnahme der Bausatz-Platine). Das benötigte Flash-Tool AVRdude ist im HOAX-Ordner bereits vorhanden, es sollte von den Batch-Dateien aufgerufen werden (außer, Sie wissen, was Sie tun!)

Achtung: Das Programmieren des Controller-EEPROMs überschreibt alle nachträglichen Einstellungen und eigene Presets, ebenso wie die Seriennummer-Freischaltcodes, die dann neu eingegeben werden müssen.

  • Ggf. aktuelles "HOAX_main.hex" und "HOAX_main.eep" aus unserem GIT-Repository downloaden (als Raw-Text) und in das "C:\HOAX"-Verzeichnis kopieren, alternativ und sicherer: Repo als ZIP downloaden und entpacken
  • Platine mit Strom versorgen (5V/500mA)
  • JP7 und JP8 müssen gesteckt sein
  • JP5 setzen
  • Windows "Command Prompt" im Verzeichnis "C:\HOAX" aufrufen, hoaxflash (oder hoaxflasheeprom für Neuprogrammierung auch des EEPROMs) eintippen, aber Befehl noch nicht mit ENTER abschicken
  • Weiteren Jumper auf Position R quer auf PL1 setzen, das sind die beiden mittleren Pins 5 und 6 genau in der Mitte (siehe Bild)
  • FTDI-Kabel an HOAX-Platine anschließen; GND = Pin1 = schwarzes Kabel!
  • Jumper auf Position R abziehen, LED1 muss 5x aufblitzen. Möglichst während die LED noch blinkt, in Windows Command Prompt "hoaxflash.bat" aufrufen, d.h. ENTER-Taste drücken
  • AVRdude programmiert Controller mit HEX- und ggf. EEP-Datei seriell und führt Verifikation der Daten durch
  • Falls "out of sync" oder "verification error", Vorgang wiederholen

Update der FPGA-Konfiguration (HOAX-Sound-Engine)

Das FPGA ist der eigentliche Klangerzeuger und -verarbeiter der HOAX-Platine; zusätzlich enthält es noch einen Mini-Controller für die Tastaturplatinen, der die eingestellte Scan-Routine abarbeitet. Beim Update der FPGA-Konfiguration sowie der Scan-Cores und Hallprogramme bleiben eigene Presets und Einstellungen sowie die Lizenz-Freischaltungen bestehen.

  • JP7 und JP8 müssen gesteckt sein
  • Ggf. aktuelle "main_midi.bit", "HX_*.dat" und "hoax3rev.bin" in Unterverzeichnis "FPGACORES" kopieren
  • In der Makro-Datei "HOAX_UPLOAD.TTL" in "\TERATERM_MACRO" Pfade "mypath=..." kontrollieren (mehrfach vorhanden, mit Texeditor zu öffnen) und ggf. auf aktuellen Pfad zu "<drive>:\HOAX\FPGACORES" setzen (Default C:\HOAX\FPGACORES)
  • TeraTerm starten
  • Makro "HOAX_UPLOAD.TTL" mit "Control/Macro..." öffnen/ausführen, Anweisungen folgen
  • Frage "Upload FPGA configuration?" mit Ja beantworten
  • Bei Frage nach Scan Core folgende Ziffern eingeben:
    • Core 0 = Chained OrganScan61 (alt, von Projekt Klangcomputer), mit ein bis drei Platinen in Reihe an PL14
    • Core 1 = MIDI receive only
    • Core 2 = ScanFatar2 mit ein oder zwei Manualen an PL14, ggf. zusätzlich Bass-Scanplatine mit 4014-SR an PL15
    • Core 3 = Scan4014-16/Bass parallel 2x 44 Tasten, 2x 3 Platinen an PL15
    • Core 4 = Scan4014-16/Bass parallel 2x 49 Tasten, 2x 3 Platinen an PL15
    • Core 5 = Scan4014-16/Bass parallel 2x 61 Tasten, 2x 4 Platinen oder ein bis drei Scan4014-61 parallel an PL15
    • Core 6 = Test-Routine (Auslieferungszustand)
    • Core 7 = OptoScan von B.A.S.S. an PL14
  • Bei nicht vollständig bestückter Platine (R-Netzwerke fehlen) immer Core 6 (Testroutine) wählen, HOAX ist sonst evt. nicht mehr ansprechbar
  • Damit AVRdude wieder auf das FTDI-Kabel zugreifen kann, muss TeraTerm beendet oder Verbindung mit ALT-I unterbrochen werden!