ardupilot/Tools/bootloaders/README.md

50 lines
1.5 KiB
Markdown
Raw Normal View History

2019-02-15 23:23:08 -04: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