ardupilot/Tools/bootloaders
2024-03-04 23:26:50 +00:00
..
.gitignore
ACNS-CM4Pilot_bl.bin
ACNS-F405AIO_bl.bin
aerofcv1_bl.bin
AeroFox-Airspeed_bl.bin
AeroFox-Airspeed-DLVR_bl.bin
AeroFox-GNSS_F9P_bl.bin
AeroFox-PMU_bl.bin
airbotf4_bl.bin
airbotf4_bl.elf
airbotf4_bl.hex
AIRLink_bl.bin
Airvolute-DCS2_bl.bin
Airvolute-DCS2_bl.hex
AnyleafH7_bl.bin
AnyleafH7_bl.hex
Aocoda-RC-H743Dual_bl.bin
Aocoda-RC-H743Dual_bl.hex
AR-F407SmartBat_bl.bin
AR-F407SmartBat_bl.elf
AR-F407SmartBat_bl.hex
ARK_CANNODE_bl.bin
ARK_CANNODE_bl.hex
ARK_GPS_bl.bin
ARK_GPS_bl.hex
ARK_RTK_GPS_bl.bin
ARK_RTK_GPS_bl.hex
AtomRCF405NAVI_bl.bin
BeastF7_bl.bin
BeastF7_bl.hex
BeastF7v2_bl.bin
BeastF7v2_bl.hex
BeastH7_bl.bin
BeastH7_bl.hex
BeastH7v2_bl.bin
BeastH7v2_bl.hex
BETAFPV-F405_bl.bin
BETAFPV-F405_bl.hex
BirdCANdy_bl.bin
BirdCANdy_bl.elf
BirdCANdy_bl.hex
BlitzF745AIO_bl.bin
BlitzF745AIO_bl.hex
C-RTK2_HP_bl.bin
C-RTK2-HP_bl.bin
CarbonixF405_bl.bin
CarbonixL496_bl.bin
crazyflie2_bl.bin
crazyflie2_bl.elf
crazyflie2_bl.hex
CUAV_GPS_bl.bin
CUAV_GPS_bl.elf
CUAV_GPS_bl.hex
CUAV-Nora_bl.bin
CUAV-Nora_bl.elf
CUAV-Nora_bl.hex
CUAV-Nora-bdshot_bl.bin
CUAV-Nora-bdshot_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-bdshot_bl.hex
CubeOrange-joey_bl.bin
CubeOrange-joey_bl.hex
CubeOrange-ODID_bl.bin
CubeOrange-periph_bl.bin
CubeOrange-periph_bl.hex
CubeOrange-periph-heavy_bl.bin
CubeOrange-periph-heavy_bl.hex
CubeOrangePlus_bl.bin
CubeOrangePlus_bl.elf
CubeOrangePlus_bl.hex
CubeOrangePlus-bdshot_bl.bin
CubeOrangePlus-bdshot_bl.hex
CubePilot-CANMod_bl.bin
CubePilot-CANMod_bl.hex
CubePilot-PPPGW_bl.bin
CubePurple_bl.bin
CubePurple_bl.hex
CubeRedPrimary_bl.bin
CubeRedPrimary_bl.hex
CubeRedPrimary-PPPGW_bl.bin
CubeRedSecondary_bl.bin
CubeRedSecondary_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
DevEBoxH7v2_bl.hex
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-PWM_bl.bin
f303-TempSensor_bl.bin
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
FlyingMoonF407_bl.bin
FlyingMoonF407_bl.hex
FlyingMoonF427_bl.bin
FlyingMoonF427_bl.hex
FlyingMoonH743_bl.bin
FlyingMoonH743_bl.hex
FlywooF405Pro_bl.bin
FlywooF405Pro_bl.hex
FlywooF405S-AIO_bl.bin
FlywooF405S-AIO_bl.hex
FlywooF745_bl.bin
FlywooF745_bl.hex
FlywooF745Nano_bl.bin
FlywooF745Nano_bl.hex
fmuv3_bl.bin
fmuv3_bl.elf
fmuv3_bl.hex
fmuv3-bdshot_bl.bin
fmuv5_bl.bin
fmuv5_bl.elf
fmuv5_bl.hex
FoxeerH743v1_bl.bin
FoxeerH743v1_bl.hex
FreeflyRTK_bl.bin
FreeflyRTK_bl.elf
FreeflyRTK_bl.hex
G4-ESC_bl.bin
HEEWING-F405_bl.bin
HEEWING-F405_bl.hex
HEEWING-F405v2_bl.bin
HEEWING-F405v2_bl.hex
Here4AP_bl.bin
Here4FC_bl.bin
Here4FC_bl.hex
Hitec-Airspeed_bl.bin
Hitec-Airspeed_bl.elf
Hitec-Airspeed_bl.hex
HitecMosaic_bl.bin
HitecMosaic_bl.elf
HitecMosaic_bl.hex
HolybroG4_Compass_bl.bin
HolybroG4_GPS_bl.bin
HolybroG4_GPS_bl.elf
HolybroG4_GPS_bl.hex
HolybroGPS_bl.bin
HolybroGPS_bl.elf
HolybroGPS_bl.hex
iomcu_bl.bin
iomcu_bl.elf
iomcu_f103_8MHz_bl.bin
JFB100_bl.bin
JFB100_bl.hex
JFB110_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
KakuteF7-bdshot_bl.bin
KakuteF7Mini_bl.bin
KakuteF7Mini_bl.elf
KakuteF7Mini_bl.hex
KakuteH7_bl.bin
KakuteH7_bl.elf
KakuteH7_bl.hex
KakuteH7-bdshot_bl.bin
KakuteH7-bdshot_bl.hex
KakuteH7-Wing_bl.bin
KakuteH7-Wing_bl.hex
KakuteH7Mini_bl.bin
KakuteH7Mini_bl.hex
KakuteH7Mini-Nand_bl.bin
KakuteH7Mini-Nand_bl.hex
KakuteH7v2_bl.bin
KakuteH7v2_bl.hex
luminousbee5_bl.bin
luminousbee5_bl.hex
MambaF405-2022_bl.bin
MambaF405-2022_bl.hex
MambaF405US-I2C_bl.bin
MambaF405US-I2C_bl.elf
MambaF405US-I2C_bl.hex
MambaF405v2_bl.bin
MambaF405v2_bl.hex
MambaH743v4_bl.bin
MambaH743v4_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-TE-bdshot_bl.bin
MatekF405-TE-bdshot_bl.hex
MatekF405-Wing_bl.bin
MatekF405-Wing_bl.elf
MatekF405-Wing_bl.hex
MatekF405-Wing-bdshot_bl.bin
MatekF765-SE_bl.bin
MatekF765-SE_bl.elf
MatekF765-SE_bl.hex
MatekF765-Wing_bl.bin
MatekF765-Wing_bl.elf
MatekF765-Wing_bl.hex
MatekF765-Wing-bdshot_bl.bin
MatekF765-Wing-bdshot_bl.hex
MatekH7A3_bl.bin
MatekH743_bl.bin
MatekH743_bl.hex
MatekH743-bdshot_bl.bin
MatekH743-bdshot_bl.hex
MatekL431-ADSB_bl.bin
MatekL431-ADSB_bl.hex
MatekL431-Airspeed_bl.bin
MatekL431-Airspeed_bl.hex
MatekL431-BattMon_bl.bin
MatekL431-bdshot_bl.bin
MatekL431-DShot_bl.bin
MatekL431-EFI_bl.bin
MatekL431-GPS_bl.bin
MatekL431-Periph_bl.bin
MatekL431-Periph_bl.hex
MatekL431-Proximity_bl.bin
MatekL431-Rangefinder_bl.bin
MatekL431-RC_bl.bin
MatekL431-Serial_bl.bin
MazzyStarDrone_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
mRoCANPWM-M10126_bl.bin
mRoControlZeroClassic_bl.bin
mRoControlZeroF7_bl.bin
mRoControlZeroF7_bl.elf
mRoControlZeroF7_bl.hex
mRoControlZeroH7_bl.bin
mRoControlZeroH7-bdshot_bl.bin
mRoControlZeroH7-bdshot_bl.hex
mRoControlZeroOEMH7_bl.bin
mRoControlZeroOEMH7_bl.elf
mRoControlZeroOEMH7_bl.hex
mRoCZeroOEMH7-bdshot_bl.bin
mRoCZeroOEMH7-bdshot_bl.hex
mRoKitCANrevC_bl.bin
mRoKitCANrevC_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
PH4-mini-bdshot_bl.bin
Pix32v5_bl.bin
Pix32v5_bl.elf
Pix32v5_bl.hex
PixC4-Jetson_bl.bin
PixC4-Jetson_bl.hex
PixFlamingo_bl.bin
PixFlamingo-F767_bl.bin
Pixhawk1_bl.bin
Pixhawk1_bl.elf
Pixhawk1_bl.hex
Pixhawk1-1M_bl.bin
Pixhawk1-1M_bl.elf
Pixhawk1-1M_bl.hex
Pixhawk1-bdshot_bl.bin
Pixhawk4_bl.bin
Pixhawk4_bl.elf
Pixhawk4_bl.hex
Pixhawk4-bdshot_bl.bin
Pixhawk4-bdshot_bl.hex
Pixhawk5X_bl.bin
Pixhawk5X_bl.hex
Pixhawk6C_bl.bin
Pixhawk6C-bdshot_bl.bin
Pixhawk6C-bdshot_bl.hex
Pixhawk6X_bl.bin
Pixhawk6X_bl.elf
Pixhawk6X-bdshot_bl.bin
Pixhawk6X-ODID_bl.bin
Pixhawk6X-PPPGW_bl.bin
PixPilot-C3_bl.bin
PixPilot-V3_bl.bin
PixPilot-V6_bl.bin
PixPilot-V6_bl.hex
Pixracer_bl.bin
Pixracer_bl.elf
Pixracer_bl.hex
Pixracer-bdshot_bl.bin
Pixracer-periph_bl.bin
Pixracer-periph_bl.hex
PixSurveyA1_bl.bin
PixSurveyA1-IND_bl.bin
PixSurveyA2_bl.bin
QioTekAdeptF407_bl.bin
QioTekAdeptF407_bl.elf
QioTekAdeptF407_bl.hex
QioTekZealotF427_bl.bin
QioTekZealotF427_bl.elf
QioTekZealotF427_bl.hex
QioTekZealotH743_bl.bin
QioTekZealotH743_bl.hex
QioTekZealotH743-bdshot_bl.bin
QioTekZealotH743-bdshot_bl.hex
R9Pilot_bl.bin
R9Pilot_bl.elf
R9Pilot_bl.hex
README.md
ReaperF745_bl.bin
ReaperF745_bl.hex
revo-mini_bl.bin
revo-mini_bl.elf
revo-mini_bl.hex
revo-mini-sd_bl.bin
revo-mini-sd_bl.elf
revo-mini-sd_bl.hex
rFCU_bl.bin
rGNSS_bl.bin
SDMODELH7V1_bl.bin
SDMODELH7V1_bl.elf
SDMODELH7V1_bl.hex
Sierra-L431_bl.bin
Sierra-PrecisionPoint_bl.bin
Sierra-PrecisionPoint_bl.hex
Sierra-TrueNavIC_bl.bin
Sierra-TrueNavIC_bl.hex
Sierra-TrueNavPro_bl.bin
Sierra-TrueNavPro-G4_bl.bin
Sierra-TrueNavPro-G4_bl.hex
Sierra-TrueNorth_bl.bin
Sierra-TrueSpeed_bl.bin
SIYI_N7_bl.bin
SkystarsH7HD_bl.bin
SkystarsH7HD_bl.hex
SkystarsH7HD-bdshot_bl.bin
SkystarsH7HD-bdshot_bl.hex
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
speedybeef4v3_bl.bin
speedybeef4v3_bl.hex
speedybeef4v4_bl.bin
speedybeef4v4_bl.hex
SpeedyBeeF405Mini_bl.bin
SpeedyBeeF405Mini_bl.hex
SpeedyBeeF405WING_bl.bin
SPRacingH7_bl.bin
SPRacingH7_bl.hex
SPRacingH7RF_bl.bin
SPRacingH7RF_bl.hex
SuccexF4_bl.bin
SuccexF4_bl.elf
SuccexF4_bl.hex
sw-nav-f405_bl.bin
sw-nav-f405_bl.hex
sw-spar-f407_bl.bin
sw-spar-f407_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
thepeach-k1_bl.bin
thepeach-r1_bl.bin
TMotorH743_bl.bin
TMotorH743_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
YJUAV_A6_bl.bin
YJUAV_A6SE_bl.bin
YJUAV_A6SE_H743_bl.bin
YJUAV_A6SE_H743_bl.hex
YJUAV_A6Ultra_bl.bin
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