4df758f52a
It is technically legal to receive an "allocation" of the broadcast node ID. Fortunately, this was already ignored by `canardSetLocalNodeID`, though it would trigger an assertion failure if those were enabled. Fix by rejecting that ID. There is effectively no change in behavior but the code now correctly ignores that ID and retries the allocation as it did before. |
||
---|---|---|
.. | ||
Web | ||
AP_Bootloader.cpp | ||
AP_Bootloader_config.h | ||
README.md | ||
app_comms.h | ||
bl_protocol.cpp | ||
bl_protocol.h | ||
board_types.txt | ||
can.cpp | ||
can.h | ||
custom.cpp | ||
flash_from_sd.cpp | ||
flash_from_sd.h | ||
mcu_f1.h | ||
mcu_f3.h | ||
mcu_f4.h | ||
mcu_f7.h | ||
mcu_g4.h | ||
mcu_h7.h | ||
mcu_l4.h | ||
md5.cpp | ||
md5.h | ||
network.cpp | ||
network.h | ||
support.cpp | ||
support.h | ||
wscript |
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