ardupilot/Tools/AP_Bootloader
Andrew Tridgell 7199ccacda AP_Bootloader: cope with RAM0_START not matching between bl and periph
this allows us to stay in bootloader based solely on RTC_BOOT_CANBL
without the RAM0 area matching between bootloader and periph fw

fixes an issue with current bootloaders where the old bl may not match
current RAM0 value
2024-02-12 15:45:07 +11:00
..
Web AP_Bootloader: added progress and status to fw upload 2024-01-21 12:30:08 +11:00
AP_Bootloader.cpp AP_Bootloader: cope with RAM0_START not matching between bl and periph 2024-02-12 15:45:07 +11:00
AP_Bootloader_config.h AP_Bootloader: added option web interface to the bootloader 2024-01-21 12:30:08 +11:00
README.md AP_Bootloader: added board_types.txt 2020-06-17 14:16:47 +10:00
app_comms.h AP_Bootloader: use IP address from periph if available 2024-01-21 12:30:08 +11:00
bl_protocol.cpp AP_Bootloader: fixed build with TEST_FLASH enabled 2024-02-01 11:43:24 +11:00
bl_protocol.h Tools: add LED notification for bad firmware 2022-08-30 10:51:06 +10:00
board_types.txt board_types.txt: reserve 1410 for RadiolinkPIX6 2024-02-06 11:44:45 +11:00
can.cpp AP_Bootloader: prevent external flash in DroneCAN bootloader 2024-01-21 12:30:08 +11:00
can.h AP_Bootloader: show IP as CAN debug msg in bootloader 2024-01-21 12:30:08 +11:00
custom.cpp AP_Bootloader: added custom LED reset for Here4AP 2023-08-01 11:38:03 +10:00
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 AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
mcu_f3.h AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
mcu_f4.h AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
mcu_f7.h AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
mcu_g4.h AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
mcu_h7.h AP_Bootloader: add H73x MCU ID and produce pretty output 2023-04-28 08:31:15 +10:00
mcu_l4.h AP_Bootloader: save a few byts contructing MCU string 2023-04-19 19:05:14 +10:00
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
network.cpp AP_Bootloader: added cleanup of web server threads 2024-01-21 12:30:08 +11:00
network.h AP_Bootloader: added cleanup of web server threads 2024-01-21 12:30:08 +11:00
support.cpp AP_Bootloader: fixed ECC check for single bank H7 2024-01-30 12:32:23 +11:00
support.h AP_Bootloader: added option web interface to the bootloader 2024-01-21 12:30:08 +11:00
wscript AP_Bootloader: added option web interface to the bootloader 2024-01-21 12:30:08 +11:00

README.md

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