Files
ardupilot/Tools/AP_Bootloader
Peter Barker e232ccde7d AP_Bootloader: correct compilation when signing enabled
In file included from ../../libraries/AP_CheckFirmware/AP_CheckFirmware.cpp:13:
../../libraries/AP_CheckFirmware/../../Tools/AP_Bootloader/support.h:57:25: error: "CH_CFG_USE_HEAP" is not defined, evaluates to 0 [-Werror=undef]
   57 | #if defined(STM32H7) && CH_CFG_USE_HEAP
      |                         ^~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
2024-11-05 09:35:34 +09:00
..
…
…
…
…
…
…
…
…
…
…
2024-06-04 09:20:21 +10: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