HX3 Bootloader Update (english)

Aus KeyboardPartner Wiki
Zur Navigation springenZur Suche springen

Overview

The update process has been fundamentally changed compared to HX3.5: Larger components such as the FPGA configuration (sound engine), the controller firmware or presets are now always handled via the new HX3.6 bootloader. While an update used to take up to 30 minutes, it now takes just a few seconds.

The firmware bootloader is a significant improvement of HX3.6/3.7, which requires a different update process for firmware and FPGA sound engine compared to HX3.5. The bootloader is a protected, unchangeable part of the HX3.6/3.7 microcontroller with its own (small) menu system that enables fast, reliable updates via SD card or standardized "device firmware update" (DFU) process by HX3 Manager. In BootLoad mode, recognizable by the characters BL in the display's bottem right corner, the MIDI/USB interface is deactivated. USB now works in DFU mode, and HX3.6/3.7 no longer responds to commands from the HX3 Editor.

Normally, the firmware bootloader simply starts the HX3.6 firmware after switching on. However, if you hold down the encoder button when switching on or have inserted an SD card in the card slot adapter, you will be taken to the bootloader menu. The bootloader can also be started via the main Preset submenu (press the DOWN button in the main menu and navigate to the Bootld Update entry) or via a command from the HX3.6 Manager. The latter happens (automatically) if HX3 is already Connected to the HX3 Manager.

While the DFU mode works much faster than the previous serial transfer, it is still possible to use the "classic" serial Updater (usefull for small files like scan driver etc.). As the old "classic" update procedure via MIDI/USB or FTDI serial cable is very slow on large files (FPGA sound engine, firmware, presets), we recommend the Bootloader Update procedure for these parts.

HX3 Manager and firmware are contained in Update Package (HX3.6) resp. Update Package (HX3.7).

Bootloader Mode

HX3 Mainboard's bootloader mode is indicated in the display by the inverse letters BL at the bottom right; the blue LED on the mainboard flickers on and off briefly at a rhythm of 3x. In bootloader mode, HX3.6/3.7 cannot receive any commands from the HX3 Manager via FTDI cable or MIDI/USB. Instead, HX3.6/3.7 mainboard logs on to the computer USB as a DFU device in order to receive update files.

The bootloader only offers a limited menu on the display panel. Navigate as usual with the rotary encoder. Confirm the respective selection by pressing the rotary encoder button.

  • After starting, the bootloader checks whether the sound engine (FPGA) and normal firmware are ready for use and displays an error message if necessary.
  • SD Card Update: If an SD card is inserted, it offers the update via SD card. Only the parts of the update that were found on the SD card are taken into account. See the page HX3.6 Use of SD cards.
  • DFU Upload:' The bootloader is waiting for a DFU update file to be uploaded.
  • FPGA recover from FAILSAFE: Restore a guaranteed functional sound engine and a MIDI scan driver. These are required if the currently installed sound engine does not work; then no DFU update would be possible!
  • FW recover from FAILSAFE: Restore a guaranteed functional controller firmware. Please note: This may be older, but allows you to work with the HX3.6 Manager.
  • Exit Update: Exit the bootloader, start the normal firmware.

Preparatory work

  • Connect HX3.6/3.7 to your PC via USB.
  • Allow HX3 to start normally (i.e. not in bootloader mode!)
  • Start HX3 Manager application.
  • Connect to "HX3.5 Sound Engine" device. Note: For legacy compatibility of USB driver, HX3.6 and HX3.7 USB still identify as "HX3.5 Sound Engine".
  • "Connected" is shown as a light green panel in HX3 Manager main window.
  • Open Updater and Bootload window. You may need to increase the size of the startup window vm HX3 Manager (drag it down) to see this button.
  • Updater window will show basic information about your HX3 board.

As the HX3 started normally using this procedure, HX3 Manager will invoke the firmware bootloader only when needed. HX3 Manager will try to re-connect to HX3 mainboard after update is done; otherwise, establish the Connect manually.

Note: For compatibility reasons with old HX3.5, it is still possible to update HX3 via the slow serial Updater. However, if possible, only use this for small files (e.g. scan drivers).

Updates via Bootloader

The firmware bootloader is activated automatically from Send DFU Pack button in BootLoad window when HX3 device was connected before or manually by MenuPanel. You start the bootloader by switching to the submenu from the preset main menu (DOWN button) and navigating to the BootLd Update entry. Press the encoder knob for 2 seconds. Alternatively you can press and hold the encoder knob while powering on.

Important: In bootloader mode (BL shown in MenuPanel display), HX3.6/3.7 no longer responds to commands from the HX3 Editor. Instead, it now expects a DFU update package via USB or a SD card with the parts necessary for the update. Do not activate bootloader by MenuPanel while "Connected" is shown in HX3 Manager main window; MIDI/USB or serial connection will freeze.

Updating Firmware or Sound Engine

  • Open HX3 Manager Bootload (HX3.6) app
  • Select all parts to be updated in "Update" column (YES/NO).
  • If "Unconnected" shown in HX3 Manager main window:
    • Set the HX3 board to BootLoad mode by navigating to the “Bootld Update” submenu in the MenuPanel or by holding down the MenuPanel rotary knob when switching on.
    • The BL symbol should now appear at the bottom right of the display.
  • Click Send DFU Pack button. HX3 board switches to bootloader mode if necessary.
  • HX3 bootloader will unpack uploads, see MenuPanel display for progress.
  • When finished, exit firmware BootLoader with HX3 MenuPanel.

See page HX3 Manager User Manual, printable PDF file and HX3.6/3.7 SD Card Usage for details.

Updating DSP Firmware and Soundbanks

HX3.7 has a digital signal processor (DSP) for generating reverb and GM voices; it requires its own firmware and GM sound banks to function. The DSP also handles MIDI/USB and DFU (bootload updater) data transfers.

  • Open HX3 Manager Bootload (HX3.6) app.
  • If "Unconnected" shown in HX3 Manager main window:
    • Set the HX3 board to BootLoad mode by navigating to the “Bootld Update” submenu in the MenuPanel or by holding down the MenuPanel rotary knob when switching on.
    • The BL symbol should now appear at the bottom right of the display.
  • In the BootLoad window, click on “Single DFU File” and select the file to be uploaded. This can be a sound bank or the DSP firmware. HX3 board switches to bootloader mode if necessary.
  • When finished, exit firmware BootLoader with HX3 MenuPanel.

See page HX3 Manager User Manual, printable PDF file for details.

Upload of DFU Files

HX3 Manager DFU Bootloader

In addition to the actual data (e.g. firmware, presets, defaults), DFU files contain special instructions on where this data should be stored in the memory. You will receive the DFU updates from us, but you can also compile them yourself using the HX3.6 Bootload-Utility (see below). A DFU file can contain several parts at the same time, such as a new sound engine (FPGA), new firmware, optimized defaults or other presets.

Using Windows (from version 7), select the menu item Action->Send single DFU file in the HX3.6 Bootload-Utility to send a DFU file to HX3.6. Select the file to be uploaded in the file dialog; our updates are usually named hx36_update.dfu resp. hx37_update.dfu.

Please note: The firmware for the DSP (equalizer, reverb, GM sound generator) and GM sound banks are always uploaded separately, if necessary. Components for the DSP cannot be included in hx3x_update.dfu. You will find the following DFU files in the updates directory:

  • hx3x_update.dfu Update file that you have received from our server or by e-mail. This may contain firmware, sound engine, defaults, organ models and other components.
  • dsp_fw.dfu DSP firmware for equalizer, reverb, GM sound generator
  • dsp_fw_nogm.dfu DSP firmware for equalizer, extended reverb programs, but without GM sound generator. The extended reverb programs (4..7) must be activated in the HX3 Editor.
  • dsp_fw_mag.dfu Special DSP firmware for equalizer, reverb, GM sound generator on MAG organs with modified routing of the audio outputs.
  • presets.dfu HX3.6 standard presets
  • gm_bank.dfu GM sound bank with 126 GM instruments
  • ext_bank.dfu Extended GM sound bank with various pianos, replaces some instruments of the GM sound bank

After uploading the file hx36_update.dfu, the bootloader will unpack, split and save it. The process may take a few seconds (scrolling numbers on the display). Do not interrupt the power supply during this time.

Upload of Individual Components

In addition to the update via predefined DFU files, it is also possible to update individual components with the HX3.6 Bootload Utility. HX3.6 must also be in bootloader mode (BL) for this.

  • In the HX3.6 Bootload Utility, select only the parts you want to update in the table (YES). These are usually those described as "new" in the changelog.
  • Click on the Send DFU Pack button.

After uploading, the bootloader will unpack and save the components. The process may take a few seconds (scrolling numbers on the display). Do not interrupt the power supply during this time. You can then exit the bootloader menu again.

Updates via SD Card

SD card adapter for convenient firmware updates
  • If an SD card adapter with an FAT 32 formatted SD card is detected on PL24 SD header on power up, HX3.6/3.7 automatically starts up with firmware bootloader.
  • To perform an update from the SD card press the menu panel encoder button. Only those parts are updated for which a corresponding file (.BIN, .DAT) is found on the card.

Alternatively to single files a packed DFU file can be created with HX3 Manager/BootLoad and stored on the card. It is treated by HX3.6/3.7 exactly like a DFU update via USB cable. Updates are usually delivered by us as such a DFU file. If new firmware has been installed, some System Inits settings are persistent and may need to be changed for your configuration to work.

Advanced users may create their own INI scripts containig all neccessary commands which do basically the same as HX3 Manager/Editor. See page HX3.6/3.7 SD Card Usage for details.

Please note: No updates of DSP or DSP soundbanks are possible via SD card. Use DFU updates via HX3 Manager/BootLoad instead.

Error Messages

The HX3.6 Bootload Utility uses external DLLs and command line tools for communicating via USB/DFU; these will pop up briefly during upload. An error message (mostly Error 74) is thrown when HX3.6/3.7 is not in Bootloader mode (inverted BL displayed on MenuPanel) or USB is not connected. If an error message appears despite bootloader mode and a connected USB, a USB hub could be interfering with communication. In this case, connect HX3.6 directly to a USB port on your PC.

Serial Updates

Updates via serial connection (either FTDI cable or MIDI/USB) are no longer useful for firmware or FPGA sound engine due to file size. However, HX3 Manager/Updater still offers this option, usefull for small files like scan driver. Partly updates may be triggered by menus in Update window. "Get Board Info" should show current configuration. See HX3 Manager User Manual, printable PDF file for details.

For board configuration you may use a serial connection through FTDI USB adaptor cable or USB interface connected to PL28 (cable colors imprinted). This port ist mostly used for factory programming and not needed for customer use. We recommend using the USB port MIDI interface.

Updates via MacOS

You can also carry out a complete update using the DreamDFU_kbp app for MacOS, as described in the operating instructions for your HX3.6/3.7 device. To do this, set the device to DFU mode, start the app and select the file hx36_update.dfu from the update directory. The HX3.6 Manager or Updater is not required for this. Unfortunately, the update or bootload utility of the HX3 Manager cannot be used with Wine or CrossOver under MacOS, as these environments do not allow a DFU driver to be installed.