ardupilot/Tools/AP_Bootloader
bugobliterator 2970c865c8 AP_Bootloader: add HereID to board types 2021-08-25 10:09:23 +10:00
..
AP_Bootloader.cpp AP_Bootloader: free few bytes of flash as bootloader build overflew on devices with 16k flash 2021-05-26 17:26:05 +10:00
README.md AP_Bootloader: added board_types.txt 2020-06-17 14:16:47 +10:00
app_comms.h AP_Bootloader: pre-define fields of app_descriptor 2019-10-28 15:53:16 +11:00
bl_protocol.cpp AP_Bootloader: add option to disable Watchdog 2021-07-14 15:18:42 +10:00
bl_protocol.h Tools: AP_Bootloader: remove unused BL_WAIT_MAGIC define 2020-06-23 09:16:42 +10:00
board_types.txt AP_Bootloader: add HereID to board types 2021-08-25 10:09:23 +10:00
can.cpp Tools: removed assert calls 2021-03-25 14:03:40 +11:00
can.h AP_Bootloader: speed up CAN fw load 2019-10-21 19:12:01 +11:00
mcu_f1.h AP_Bootloader: added CAN support for AP_Periph 2019-08-27 10:29:56 +10:00
mcu_f3.h AP_Bootloader: support STM32F303 MCU 2019-11-01 10:53:53 +11:00
mcu_f4.h
mcu_f7.h
mcu_g4.h AP_Bootloader: fixed G4 MCU descriptions 2021-07-30 10:20:52 +10:00
mcu_h7.h AP_Bootloader: added STM32H7xx chip revisions 2019-11-25 21:52:45 +11:00
support.cpp AP_Bootloader: ignore cast alignment when reading from flash 2021-07-15 07:50:12 +10:00
support.h Tools: fixed printf format errors 2021-08-05 09:43:35 +10:00
wscript Tools: fixed build with --out directory for build_binaries 2019-10-25 09:35:27 +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