Updater module

The updater module reads the hardware type and version of the currently installed firmware, and reads the hardware type and version of the file ‘TBBLUE.TBU’ by displaying this information on the screen. The user is asked if he wants to perform the update, pressing the ‘Y’ key for yes or ‘N’ for no.

If the user chooses ‘N’ the module restarts the IPL, if the ‘Y’ option is chosen, the firmware update process starts, being initially checked if the hardware type is correct for the firmware, giving an error if it is not. If the hardware type is the same the updater first reads the updater file to calculate a checksum and verify that the file is intact, in which case the flash erase process is started, followed by the sequential reading and writing of the flash.

At this point the machine should not be turned off, it is recommended to use an anti-power failure system if possible.

The update time depends on the type of hardware (TBBlue Altera, Devkits with SLX9, or final Next with SLX16, for instance), and at the end of the process the screen is cleaned and displays only the message that the user must turn off and on the machine so that the FPGA can re-read the flash code.

If any error occurs in the process the ULA border is set to red colour and an error message is displayed on the screen, leaving the machine in an infinite loop.