-
Notifications
You must be signed in to change notification settings - Fork 166
User Guide: Updating The Bootloader
The bootloader is what allows you to upgrade your firmware at any time. From time to time the bootloader may need to be updated to allow more flash space for firmware etc.
The basic process is:
- start GCS,
- connect the flightcontroller through USB,
- wait for LED to stop pulsing on board, wait some more,
- unplug, hit rescue, replug,
- Flash bu_.tlfw using GCS,
Sometimes bad things happen and the bootloader gets damaged, e.g. you don't wait for the bootloader updater to finish, or the board becomes disconnected while the bootloader updater is running. You can repair the bootloader using the USB or serial interface as described in this section, or using a debugger as described in the OpenOCD section. The same applies if you want to revert back to the original bootloader.
PipXtreme/TauLink.
For this operation you will need a serial port (a.k.a RS232C), if your computer is not provided with such a port, just buy a cheap USB to Serial adapter (a.k.a FTDI adapter). From then on, Follow the Tutorial by SouthQuay
The tutorial does not clearly explain how to connect the FlightController "Main Port" to the USB to serial adapter. On the Eachine Racer Discussion, you'll find more details, including a photo that pictures the MainPort with the connector details.
- If you plan to manually instal dRonin bootloader grab the bootloader provided in the package bl_coptercontrol.bin. If you're working in windows, in the installation folder of dRonin, you'll find a subdirectory called firmware, with the above mentioned file.
User yds, made a usefull script which updates most bootloader (except F1 flight controllers).
To make flashing the dRonin bootloader a little less painful put this dfu-bootloader.bat script and a copy of dfu-util.exe in the dRonin/bin/ directory and run it from there.
See his explanation in the forum. Note that, when asked by the dfu-bootloader.bat script to fix the drivers with Zadig, one may use instead ImpulseRC Driver Fixer which does the same in a friendlier way.
If the above failed, there this old set of instructions. BE WARNED this could be outdated! You will need dfu-util (cross-platform) or ST-Link (Windows only) to flash the bootloader.
You will need a copy of dfu-util.exe. Addtionally you will need a bootloader bin for your flight controller. This will be named bl_<target>.bin
and should be included in the firmware subdirectory.
The command to flash the bootloader is:
dfu-util.exe -d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D bl_<target>.bin
The procedure is similar to the F1boards so have a look first at this section in order to get used with the STMicroelectronics utility.
- Install the ST-Link Utility from here STM32 ST-LINK utility
- Connect the FlightController board using the mini-usb connector
- Start STM32 ST-LINK Utility
- Select Target->Connect from the menu
- Select Target-> Erase Chip from the menu
- Select File -> Open File... from the menu
- Choose the appropriate bootloader. Bootloaders are prefaced by
bl_
. For instance, if you are flashing the FlyingF3, this will be in firmware/bl_flyingf3.bin - Confirm the dialog box which asks to write the data to the target
- Close the software
and you're done :)
Note: 1/ shorting the bootloader pads may be necessary prior to connect the FlightController. 2/ You may need to fix the drivers with Zadig or ImpulseRC Driver Fixer.
You can check that the bootloader was successfully written by unplugging and replugging the USB cable. The blue LED should begin slowly pulsing. This means that the bootloader is running, but that there is no valid autopilot firmware. Advance to the next step to OnlineHelp: Uploader Plugin.