Firmware- und FPGA-Update

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen

Setzt eine funktionierende Platine mit Bootloader voraus. Vorbereitung des USB-Kabels wie unter Inbetriebnahme der Bausatz-Platine beschrieben.

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

Update der Controller-Firmware per Bootloader

Achtung: Das Programmieren des Controller-EEPROMs überschreibt alle nachträglichen Einstellungen und eigene Presets, ebenso wie die Seriennummer-Freischaltcodes. Bei kleineren Änderungen der Firmware sollte keine EEPROM-Programmierung erforderlich sein; Sie müssen dann den EEPROM-Inhalt vor der Neuprogrammierung auslesen und sichern!

  • Ggf. aktuelles "HOAX_main.hex" und "HOAX_main.eep" in das "C:\HOAX"-Verzeichnis kopieren
  • Platine mit Strom versorgen (5V/250mA)
  • JP5 setzen
  • 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. Sofort danach in Windows Command Prompt "hoaxflash.bat" aufrufen
  • AVRdude programmiert Controller mit HEX- und 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)

  • Ggf. aktuelle "main_midi.bit", "HX_*.dat" und "hoax3rev.bin" in Unterverzeichnis "FPGACORES" kopieren
  • Terminal-Programm TeraTerm von http://www.heise.de/download/teraterm-pro.html downloaden und installieren (falls nicht schon vorhanden)
  • 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
  • Unter "Setup/Serial Port..." oben notierten COM-Port des FTDI-Kabels eintragen, sowie Baud rate 57600, Data 8 bit, Parity none, Stop 1 bit, Flow control none (falls nicht schon geschehen)
  • Unter "Setup/Terminal..." einstellen: Receive CR, Transmit CRLF, Local echo (falls nicht schon geschehen)
  • ggf. mit ALT-N neue Verbindung, wenn DISCONNECTED
  • Für spätere Updates Einstellungen unter "Setup/Save setup" Teraterm-Setup in TERATERM.INI sichern
  • 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
  • Damit AVRdude wieder auf das FTDI-Kabel zugreifen kann, muss TeraTerm beendet oder Verbindung mit ALT-I unterbrochen werden!