ardupilot/Tools/AP_Bootloader
2023-03-17 16:14:27 +11:00
..
AP_Bootloader_config.h AP_Bootloader: add SD card support to bootloader 2023-02-28 11:26:04 +11:00
AP_Bootloader.cpp AP_HAL_ChibiOS: replace NO_FASTBOOT with AP_FASTBOOT_ENABLED 2023-03-01 18:16:31 +11:00
app_comms.h
bl_protocol.cpp
bl_protocol.h
board_types.txt Tools: reserve board ID 2023-03-17 16:14:27 +11:00
can.cpp
can.h
flash_from_sd.cpp AP_Bootloader: add SD card support to bootloader 2023-02-28 11:26:04 +11:00
flash_from_sd.h AP_Bootloader: add SD card support to bootloader 2023-02-28 11:26:04 +11:00
mcu_f1.h
mcu_f3.h
mcu_f4.h
mcu_f7.h
mcu_g4.h
mcu_h7.h
mcu_l4.h
md5.cpp AP_Bootloader: add SD card support to bootloader 2023-02-28 11:26:04 +11:00
md5.h AP_Bootloader: add SD card support to bootloader 2023-02-28 11:26:04 +11:00
README.md
support.cpp AP_Bootloader: save some space by using iterators rather than ARRAY_SIZE 2023-02-22 19:41:49 +11:00
support.h
wscript waf: add dynamic source option to ap_stlib 2022-11-16 18:05:59 +11:00

ArduPilot Bootloader

This is the bootloader used for STM32 boards for ArduPilot. To build the bootloader do this:

 ./waf configure --board BOARDNAME --bootloader
 ./waf bootloader

the bootloader will be in build/BOARDNAME/bin. If you have the intelhex module installed it will build in both bin format and hex format. Both are usually uploaded with DFU. The elf file will be in build/BOARDNAME/AP_Bootloader for loading with gdb.

The --bootloader option tells waf to get the hardware config from the hwdef-bl.dat file for the board. It will look in libraries/AP_HAL_CHibiOS/hwdef/BOARDNAME/hwdef-bl.dat

The bootloader protocol is compatible with that used by the PX4 project for boards like the Pixhawk. For compatibility purposes we maintain a list of board IDs in the board_types.txt file in this directory.

the board IDs in that file match the APJ_BOARD_ID in the hwdef.dat and hwdef-bl.dat files

The bootloader can load from USB or UARTs. The list of devices to load from is given in the SERIAL_ORDER option in hwdef-bl.dat