Files
ardupilot/Tools/bootloaders
Henry WurzburgandClaude Sonnet 5 97b34615da bootloaders: rebuild DAKEFPVH743 to fix VTX power pin floating during boot
PR #34107 fixed the VTX power pin (PE3/GPIO 82) floating during
bootloader on DAKEFPVH743Pro by adding it to hwdef-bl.dat, and
DAKEFPVH743 inherits that fix via "include ../DAKEFPVH743Pro/hwdef-bl.dat".
However DAKEFPVH743's own bootloader binary was not rebuilt in that PR,
so the shipped bootloader still had the floating-pin bug baked in.

Rebuilt with Tools/scripts/build_bootloaders.py (GNU Arm Embedded
Toolchain 10-2020-q4-major).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 10:44:43 +10:00
..
2026-07-06 16:24:17 +01:00
2026-07-06 16:24:17 +01:00
2026-07-14 08:44:38 +10:00
2026-07-14 08:44:38 +10:00
2026-06-05 09:22:10 +09:00
2026-06-05 09:22:10 +09:00
2026-03-17 12:33:52 +13:00
2026-03-17 12:33:52 +13:00
2026-03-03 08:12:45 +09:00
2026-03-03 08:12:45 +09:00
2026-03-04 18:05:08 +11:00
2026-03-04 18:05:08 +11:00

ArduPilot Bootloader

The main ArduPilot for STM32 boards is based on ChibiOS, and the source code is in Tools/AP_Bootloader

The old bootloader (now unused) was based on libopencm3.

Bootloader images

Binaries for the bootloader for all supported STM32 boards are in this directory. You can build one of these bootloaders using the Tools/scripts/build_bootloaders.py script. That script takes a wildcard pattern of which boards to build. For example, to build a bootloader for a Pixhawk1, use:

./Tools/scripts/build_bootloaders.py Pixhawk1

The config files for the builds of these bootloaders are in libraries/AP_HAL_ChibiOS/hwdef, in the files called hwdef-bl.dat

Old Bootloader details

We also have copies of binaries for some of the older bootloaders in this directory. They are:

iomcu_bl.bin: for IOMCU on fmuv2

skyviper_v2450_bl.bin: for F427 based skyviper-v2450 boards (based on fmuv3) reserves sectors 22 and 23 for ArduPilot storage board ID 9

skyviperf412_bl.bin: For F412 processors, setup to load on USART2 on pins PA2/PA3 Setup for code start at 0x0800C000 2 sectors reserved for storage, plus bootloader

Bootloader in ROMFS

When building a ChibiOS based build, if there is a corresponding bootloader in Tools/bootloaders for the board then that bootloader will be included as a compressed file in ROMFS. You can then ask ArduPilot to update the bootloader using the MAVLink command MAV_CMD_FLASH_BOOTLOADER command using a param5 magic value of 290876