Bootloader update

 

Content

Introduction

The bootloader (BL) is a small piece of software which is started as soon as the board is powered. All the latest CopterControl boards are shipped with the latest stable BL and there is normally no need to update the BL on your board.

Warning
Upgrading the BL can be tricky and if things go wrong then you may brick your board. If your board is bricked then it's not longer possible to start and operate normally.
 How do I check the BL version of my board.

In order to check which version of bootloader you have installed on your board follow these steps.

Connect your board to the GCS and open the Firmware workspace. On the Firmware workspace, click Halt.

The Halt option works only correct on Windows, please use the Rescue option on Mac or Linux and follow the instructions.


Once the board is halted the BL version of the board is shown.

Click make Boot start your board again once you have noted your BL version.

 

Upgrade the bootloader

(warning) The BL for CopterControl (CC) is not the same as for CopterControl3D (CC3D).
You must verify whether you have a CC or CC3D that you want to upgrade. If you have a CC3D this is clearly mentioned on the board.

If it's necessary to upload your BL, strictly follow below instructions.

  •     Using the Firmware workspace, click Rescue and follow instructions.
  •     After the board is detected, open the BootloaderUpdater (BU) firmware and flash it to your board
  •     After the flashing is complete press Boot and you must wait until blue LED is on, then flashes, and finally goes off (normally ±15 seconds).
  •     Wait 10 seconds more.
  •     Disconnect the board from USB.
  •     Click Rescue again and follow instructions to update the main firmware.

 

LED behavior

  • Slowly blinking blue LED 1hz interval: The board is booted and running the firmware, this is the normal behavior.


  • Bootloader mode.
    Slowly glowing of the blue LED, the green led burns solid. The blue LED doesn't blink but fades in and out: The board is in BL mode.


  • If the blue LED is blinking continuously during a BL update then this indicates an error state. A wrong BL image may have been detected and the update isn't performed.

Bootloader versions

  • Version 1 - BL version which is loaded onto all released CopterControl boards.
  • Version 2 - Safe boot capabilities are added to prevent the user from being locked out of the board due to a bad hardware configuration.

  • Version 3 - Different USB serial numbers between BL and firmware are specified. This helps Windows separate the 2 different functions of the board by making it think there are two different boards connected. Twitching servo movement during the board start has been eliminated.

Step by step video

fredz69 made an excellent step by step video which guides you through the complete bootloader update process.

 

FAQ's

 What's the difference between Firmware, Bootloader (BL) and BootloaderUpdater (BU)?

The Firmware (FW) is the application to be loaded by the Bootloader after the board has been powered. The Firmware is regularly updated and newer Firmware contains several new features and bug fixes. You need a matching Firmware and GCS version to configure your board,

The Bootloader (BL) is a small piece of software which is started as soon as the board is powered. Every board is loaded with a bootloader and is normally not upgraded by the user.

The BootloaderUpdater (BU) is an application which replaces the old Bootloader in the board (it contains the new actual Bootloader inside). The BootloaderUpdater is a smart trick to use the internal (old) Bootloader to load a special BootloaderUpdater Firmware which when started will erase and write the new Bootloader image on the board. (The new Bootloader itself is inside of this BootloaderUpdater application). This step is required because the Bootloader in the flash memory can't erase and rewrite itself in place.

 The Bootloader version isn't updated after the update.

There is a built in check that prevents the user to update the BL with an incompatible version. Most probably the wrong BL version has been selected. If you have a continuously blinking blue led during the upgrade process, this is the indication that the updater is in an error state. Reboot the board and repeat the process using the correct BU.

 How can I build the bootloader for CopterControl instead of CC3D?

The BU image can (currently) only carry a single BL image. Recent BU carries the CC3D BL by default. If you want to build your own BL for CC, use the following commands.

For more detailed information, see OPReview-205.

Labels
  • None