Early Pixhawk-series flight controllers based on FMUv2 had a hardware issue (Silicon Errata) that restricted them to using 1MB of flash memory. The problem was fixed on newer hardware, so it can now (in theory) install FMUv3 Firmware and access all 2Mb available memory.
Unfortunately some boards come from the factory with an old bootloader that is unable to detect whether or not the hardware issue is present. As a result, the memory-restricted FMUv2 Firmware must still be used.
This topic explains how you can update the bootloader to the latest version so that you can use FMUv3 Firmware on compatible boards.
You can initiate bootloader update on next restart by setting the parameter: SYS_BL_UPDATE.
To update the bootloader:
- Insert an SD card (enables boot logging to debug any problems.)
Update the Firmware to PX4 master version (when updating the firmware, check Advanced settings and then select Developer Build (master) from the dropdown list). QGroundControl will automatically detect that the hardware supports FMUv2 and install the appropriate Firmware.
Wait for the vehicle to reboot.
- Find and enable the parameter SYS_BL_UPDATE.
- Reboot (disconnect/reconnect the board). The bootloader update will only take a few seconds.
Then Update the Firmware again. This time QGroundControl should autodetect the hardware as FMUv3 and update the Firmware appropriately.
If the hardware has the Silicon Errata it will still be detected as FMUv2 and you will see that FMUv2 was re-installed (in console). In this case you will not be able to install FMUv3 hardware.