https://github.com/px4/px4-bootloader
PX4 Bootloader for PX4FMU, PX4IO and PX4FLOW
https://github.com/px4/px4-bootloader
Last synced: about 1 year ago
JSON representation
PX4 Bootloader for PX4FMU, PX4IO and PX4FLOW
- Host: GitHub
- URL: https://github.com/px4/px4-bootloader
- Owner: PX4
- License: other
- Created: 2012-08-04T21:28:11.000Z (almost 14 years ago)
- Default Branch: main
- Last Pushed: 2025-05-04T22:56:55.000Z (about 1 year ago)
- Last Synced: 2025-05-04T23:36:18.127Z (about 1 year ago)
- Language: C
- Size: 539 KB
- Stars: 279
- Watchers: 88
- Forks: 558
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bootloader for the Pixhawk board family
[](https://github.com/PX4/PX4-Bootloader/actions/workflows/main.yaml)
## Build instructions
Build all targets:
```
git submodule sync --recursive
git submodule update --init --recursive
make
```
The binaries will be in `build/BOARDNAME/BOARDNAME.elf`. Two files are built: ELF files for use with JTAG adapters and BIN files for direct onboard upgrading.
Build a specific board: Please check the [Makefile](Makefile) for specific build targets.
## License
License: LGPL3 for libopencm3, BSD-3-clause for core bootloader (see [LICENSE.md](LICENSE.md))
## Contact
* Chat: [Dronecode Discord](https://discord.gg/dronecode)
* Forum: [Dronecode Discuss](https://discuss.px4.io)
## Bootloader Usage
The typical use case as used for the the PX4IO is described in [px4pipbl.pdf](https://github.com/PX4/Bootloader/files/3955700/px4pipbl.pdf).
To avoid accidental erasure or bad image loading:
- The bootloader needs to receive `PROTO_GET_SYNC` and `PROTO_GET_DEVICE` prior to receiving `PROTO_CHIP_ERASE`.
- The bootloader needs to receive `PROTO_GET_SYNC` and `PROTO_GET_DEVICE` and `PROTO_PROG_MULTI` and `PROTO_GET_CRC` prior to receiving `PROTO_BOOT`.