Files
ardupilot/Tools/bootloaders
2023-11-10 17:14:18 +11:00
..
2020-04-28 10:32:23 +10:00
2021-11-10 08:47:21 +11:00
2021-01-13 18:09:33 +11:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2023-05-10 17:24:02 +10:00
2023-05-10 17:24:02 +10:00
2021-02-03 13:13:32 +11:00
2021-02-03 13:13:32 +11:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2020-04-28 10:32:23 +10:00
2022-08-10 05:04:22 +10:00
2022-08-10 05:04:22 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-10-13 17:59:13 +11:00
2020-10-13 17:59:13 +11:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2023-11-10 17:14:18 +11:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
…
2022-12-23 11:04:35 +11:00
2022-12-23 11:04:35 +11:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2021-08-10 10:08:05 +10:00
2021-10-05 11:32:13 -07:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00
2020-04-28 10:32:23 +10:00

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