Originally Posted by Shawshank_Steve:
“This is only a firmware update not a boot loader update. I believe that Bob_Cat said that they would have to fix the boot loader for this. Boot loaders do not happen over the air so I guess we will have to see if Humax update their website with the boot loader.”
That makes sense that the problem is in the bootloader. Actually fixing the bootloader shouldn't be too much of an issue (as it has a relatively simple task with none/minimal user interaction) however there will never be an OTA for it so would have to be done via an update from a USB stick.
When I say the bootloader is simple, I mean relative to the application/main software. If its anything like the stuff I'm used to at work it probably does the following:-
1. Checks the validity of itself via a CRC check.
2. Performs hardware checks.
3. Checks to see if a program enable discrete is set and if so attempts to locate an OTA and flash the EEPROM.
4. If the program enable discrete is not set then perform a check to see if the main firmware is valid (i.e. CRC check it).
5. If everything OK then leave the bootloader and launch the main software (otherwise stay in the bootloader and possibly open coms with some internal test port so the hardware engineers can "talk" to it).
I wonder if they go as far as having a very small bootloader which can never be updated and which calls a more complex bootstrap which in turn calls the main software. Advantage of this method is that if flashing the bootstrap went horribly wrong then the bootloader would still be intact and should have enough basic functionality to attempt to re-program the bootloader.
I'm waffling... sorry...