ardupilot/Tools/bootloaders
2022-02-24 10:19:07 +11:00
..
.gitignore
aerofcv1_bl.bin
airbotf4_bl.bin
airbotf4_bl.elf
airbotf4_bl.hex
AIRLink_bl.bin
ARK_GPS_bl.bin Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
ARK_GPS_bl.hex Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
BeastF7_bl.bin
BeastF7_bl.hex
BeastF7v2_bl.bin
BeastF7v2_bl.hex
BeastH7_bl.bin
BeastH7_bl.hex
BirdCANdy_bl.bin
BirdCANdy_bl.elf
BirdCANdy_bl.hex
crazyflie2_bl.bin
crazyflie2_bl.elf
crazyflie2_bl.hex
CUAV_GPS_bl.bin Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
CUAV_GPS_bl.elf Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
CUAV_GPS_bl.hex Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
CUAV-Nora_bl.bin
CUAV-Nora_bl.elf
CUAV-Nora_bl.hex
CUAV-X7_bl.bin
CUAV-X7_bl.elf
CUAV-X7_bl.hex
CUAV-X7-bdshot_bl.bin
CUAVv5_bl.bin
CUAVv5_bl.elf
CUAVv5_bl.hex
CUAVv5-bdshot_bl.bin
CUAVv5-bdshot_bl.hex
CUAVv5Nano_bl.bin
CUAVv5Nano_bl.elf
CUAVv5Nano_bl.hex
CUAVv5Nano-bdshot_bl.bin
CUAVv5Nano-bdshot_bl.hex
CubeBlack_bl.bin
CubeBlack_bl.elf
CubeBlack_bl.hex
CubeBlack+_bl.bin
CubeBlack+_bl.hex
CubeGreen-solo_bl.bin
CubeGreen-solo_bl.hex
CubeOrange_bl.bin
CubeOrange_bl.elf
CubeOrange_bl.hex
CubeOrange-bdshot_bl.bin
CubeOrange-joey_bl.bin
CubePurple_bl.bin
CubePurple_bl.hex
CubeSolo_bl.bin
CubeSolo_bl.hex
CubeYellow_bl.bin
CubeYellow_bl.elf
CubeYellow_bl.hex
CubeYellow-bdshot_bl.bin
CubeYellow-bdshot_bl.hex
DevEBoxH7v2_bl.bin bootloaders: add DevEBoxH7v2 bootloader for external flash 2022-02-09 12:47:55 +00:00
DevEBoxH7v2_bl.hex bootloaders: add DevEBoxH7v2 bootloader for external flash 2022-02-09 12:47:55 +00:00
DrotekP3Pro_bl.bin
DrotekP3Pro_bl.hex
Durandal_bl.bin
Durandal_bl.elf
Durandal_bl.hex
Durandal-bdshot_bl.bin
f103-ADSB_bl.bin
f103-ADSB_bl.elf
f103-ADSB_bl.hex
f103-Airspeed_bl.bin
f103-Airspeed_bl.elf
f103-Airspeed_bl.hex
f103-GPS_bl.bin
f103-GPS_bl.hex
f103-HWESC_bl.bin
f103-HWESC_bl.hex
f103-periph_bl.bin
f103-periph_bl.elf
f103-periph_bl.hex
f103-QiotekPeriph_bl.bin
f103-QiotekPeriph_bl.hex
f103-RangeFinder_bl.bin
f103-RangeFinder_bl.elf
f103-RangeFinder_bl.hex
f103-Trigger_bl.bin
f103-Trigger_bl.elf
f103-Trigger_bl.hex
f303-GPS_bl.bin
f303-GPS_bl.hex
f303-HWESC_bl.bin
f303-HWESC_bl.hex
f303-M10025_bl.bin
f303-M10025_bl.hex
f303-M10070_bl.bin
f303-M10070_bl.elf
f303-M10070_bl.hex
f303-MatekGPS_bl.bin
f303-MatekGPS_bl.elf
f303-MatekGPS_bl.hex
f303-periph_bl.bin
f303-periph_bl.hex
f303-Universal_bl.bin
f303-Universal_bl.elf
f303-Universal_bl.hex
f405-MatekAirspeed_bl.bin
f405-MatekAirspeed_bl.hex
f405-MatekGPS_bl.bin
f405-MatekGPS_bl.hex
F4BY_bl.bin
F4BY_bl.elf
F4BY_bl.hex
F35Lightning_bl.bin
F35Lightning_bl.elf
F35Lightning_bl.hex
FlywooF745_bl.bin
FlywooF745_bl.hex
FlywooF745Nano_bl.bin
FlywooF745Nano_bl.hex
fmuv3_bl.bin
fmuv3_bl.elf
fmuv3_bl.hex
fmuv5_bl.bin
fmuv5_bl.elf
fmuv5_bl.hex
FreeflyRTK_bl.bin Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
FreeflyRTK_bl.elf Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
FreeflyRTK_bl.hex Tools: updated CAN bootloaders for px4 fw update compat 2022-02-17 14:37:41 +11:00
Hitec-Airspeed_bl.bin
Hitec-Airspeed_bl.elf
Hitec-Airspeed_bl.hex
HitecMosaic_bl.bin
HitecMosaic_bl.elf
HitecMosaic_bl.hex
HolybroGPS_bl.bin
HolybroGPS_bl.elf
HolybroGPS_bl.hex
iomcu_bl.bin
iomcu_bl.elf
iomcu_f103_8MHz_bl.bin
JHEMCU-GSF405A_bl.bin
JHEMCU-GSF405A_bl.hex
JHEMCU-GSF405A-RX2_bl.bin
JHEMCU-GSF405A-RX2_bl.hex
KakuteF4_bl.bin
KakuteF4_bl.elf
KakuteF4_bl.hex
KakuteF4Mini_bl.bin
KakuteF4Mini_bl.hex
KakuteF7_bl.bin
KakuteF7_bl.elf
KakuteF7_bl.hex
KakuteF7Mini_bl.bin
KakuteF7Mini_bl.elf
KakuteF7Mini_bl.hex
KakuteH7_bl.bin
KakuteH7_bl.elf
KakuteH7_bl.hex
KakuteH7Mini_bl.bin
KakuteH7Mini_bl.hex
luminousbee5_bl.bin
luminousbee5_bl.elf
luminousbee5_bl.hex
MambaF405US-I2C_bl.bin
MambaF405US-I2C_bl.elf
MambaF405US-I2C_bl.hex
MambaF405v2_bl.bin
MambaF405v2_bl.hex
MatekF405_bl.bin
MatekF405_bl.elf
MatekF405_bl.hex
MatekF405-bdshot_bl.bin
MatekF405-CAN_bl.bin
MatekF405-CAN_bl.hex
MatekF405-STD_bl.bin
MatekF405-STD_bl.elf
MatekF405-STD_bl.hex
MatekF405-TE_bl.bin
MatekF405-TE_bl.hex
MatekF405-Wing_bl.bin
MatekF405-Wing_bl.elf
MatekF405-Wing_bl.hex
MatekF765-SE_bl.bin
MatekF765-SE_bl.elf
MatekF765-SE_bl.hex
MatekF765-Wing_bl.bin
MatekF765-Wing_bl.elf
MatekF765-Wing_bl.hex
MatekH743_bl.bin
MatekH743_bl.hex
MatekH743-bdshot_bl.bin
mindpx-v2_bl.bin
mindpx-v2_bl.elf
mindpx-v2_bl.hex
mini-pix_bl.bin
mini-pix_bl.elf
mini-pix_bl.hex
modalai_fc-v1_bl.bin
mRo-M10095_bl.bin
mRo-M10095_bl.elf
mRo-M10095_bl.hex
mRoControlZeroF7_bl.bin
mRoControlZeroF7_bl.elf
mRoControlZeroF7_bl.hex
mRoControlZeroH7-bdshot_bl.bin
mRoControlZeroH7-bdshot_bl.hex
mRoControlZeroOEMH7_bl.bin
mRoControlZeroOEMH7_bl.elf
mRoControlZeroOEMH7_bl.hex
mRoNexus_bl.bin
mRoNexus_bl.elf
mRoNexus_bl.hex
mRoPixracerPro_bl.bin
mRoPixracerPro_bl.elf
mRoPixracerPro_bl.hex
mRoPixracerPro-bdshot_bl.bin
mRoX21_bl.bin
mRoX21_bl.elf
mRoX21_bl.hex
mRoX21-777_bl.bin
mRoX21-777_bl.elf
mRoX21-777_bl.hex
Nucleo-G491_bl.bin
Nucleo-G491_bl.elf
Nucleo-G491_bl.hex
NucleoH743_bl.bin
NucleoH743_bl.elf
NucleoH743_bl.hex
omnibusf4_bl.bin
omnibusf4_bl.elf
omnibusf4_bl.hex
omnibusf4pro_bl.bin
omnibusf4pro_bl.elf
omnibusf4pro_bl.hex
omnibusf4pro-bdshot_bl.bin
omnibusf4v6_bl.bin
omnibusf4v6_bl.elf
omnibusf4v6_bl.hex
OMNIBUSF7V2_bl.bin
OMNIBUSF7V2_bl.elf
OMNIBUSF7V2_bl.hex
OmnibusNanoV6_bl.bin
OmnibusNanoV6_bl.elf
OmnibusNanoV6_bl.hex
OmnibusNanoV6-bdshot_bl.bin
PH4-mini_bl.bin
PH4-mini_bl.elf
PH4-mini_bl.hex
Pix32v5_bl.bin
Pix32v5_bl.elf
Pix32v5_bl.hex
PixC4-Jetson_bl.bin
PixC4-Jetson_bl.hex
Pixhawk1_bl.bin
Pixhawk1_bl.elf
Pixhawk1_bl.hex
Pixhawk1-1M_bl.bin
Pixhawk1-1M_bl.elf
Pixhawk1-1M_bl.hex
Pixhawk4_bl.bin
Pixhawk4_bl.elf
Pixhawk4_bl.hex
Pixhawk4-bdshot_bl.bin
Pixhawk4-bdshot_bl.hex
Pixhawk5X_bl.bin
Pixhawk5X_bl.hex
Pixracer_bl.bin
Pixracer_bl.elf
Pixracer_bl.hex
Pixracer-bdshot_bl.bin
Pixracer-periph_bl.bin
Pixracer-periph_bl.hex
QioTekZealotF427_bl.bin
QioTekZealotF427_bl.elf
QioTekZealotF427_bl.hex
QioTekZealotH743_bl.bin
QioTekZealotH743_bl.hex
R9Pilot_bl.bin
R9Pilot_bl.elf
R9Pilot_bl.hex
README.md
revo-mini_bl.bin
revo-mini_bl.elf
revo-mini_bl.hex
Sierra-L431_bl.bin
skyviper_v2450_bl.bin
skyviperf412_bl.bin
skyviperf412_bl.elf
sparky2_bl.bin
sparky2_bl.elf
sparky2_bl.hex
speedybeef4_bl.bin
speedybeef4_bl.elf
speedybeef4_bl.hex
SPRacingH7_bl.bin bootloaders: update SPRacingH7 bootloaders. 2022-02-24 10:19:07 +11:00
SPRacingH7_bl.hex bootloaders: update SPRacingH7 bootloaders. 2022-02-24 10:19:07 +11:00
SuccexF4_bl.bin
SuccexF4_bl.elf
SuccexF4_bl.hex
Swan-K1_bl.bin
Swan-K1_bl.hex
TBS-Colibri-F7_bl.bin
TBS-Colibri-F7_bl.elf
TBS-Colibri-F7_bl.hex
VRBrain-v51_bl.bin
VRBrain-v51_bl.hex
VRBrain-v52_bl.bin
VRBrain-v52_bl.elf
VRBrain-v52_bl.hex
VRBrain-v54_bl.bin
VRBrain-v54_bl.hex
VRCore-v10_bl.bin
VRCore-v10_bl.hex
VRUBrain-v51_bl.bin
VRUBrain-v51_bl.elf
VRUBrain-v51_bl.hex
ZubaxGNSS_bl.bin
ZubaxGNSS_bl.elf
ZubaxGNSS_bl.hex

ArduPilot Bootloader

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

The old (now unusued) bootloader was based on libopencm3, and a copy of that is here:

https://github.com/ArduPilot/Bootloader

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