2021-10-20 21:27:16 +08:00
|
|
|
# [MCUboot](http://mcuboot.com/)
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2020-11-12 21:45:07 +08:00
|
|
|
[![Package on PyPI](https://img.shields.io/pypi/v/imgtool.svg)][pypi]
|
2017-08-11 01:55:27 +08:00
|
|
|
[![Coverity Scan Build Status](https://scan.coverity.com/projects/12307/badge.svg)][coverity]
|
2020-11-12 21:45:07 +08:00
|
|
|
[![Build Status (Sim)](https://github.com/mcu-tools/mcuboot/workflows/Sim/badge.svg)][sim]
|
|
|
|
[![Build Status (Mynewt)](https://github.com/mcu-tools/mcuboot/workflows/Mynewt/badge.svg)][mynewt]
|
|
|
|
[![Publishing Status (imgtool)](https://github.com/mcu-tools/mcuboot/workflows/imgtool/badge.svg)][imgtool]
|
2021-05-15 00:12:10 +08:00
|
|
|
[![Build Status (Travis CI)](https://img.shields.io/travis/mcu-tools/mcuboot/main.svg?label=travis-ci)][travis]
|
2020-11-12 21:45:07 +08:00
|
|
|
[![Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)][license]
|
2017-08-11 01:55:27 +08:00
|
|
|
|
2020-11-12 21:45:07 +08:00
|
|
|
[pypi]: https://pypi.org/project/imgtool/
|
2017-08-11 01:55:27 +08:00
|
|
|
[coverity]: https://scan.coverity.com/projects/mcuboot
|
2020-11-13 00:17:46 +08:00
|
|
|
[sim]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:Sim
|
|
|
|
[mynewt]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:Mynewt
|
|
|
|
[imgtool]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:imgtool
|
2020-11-10 23:35:04 +08:00
|
|
|
[travis]: https://travis-ci.org/mcu-tools/mcuboot
|
2021-05-15 00:12:10 +08:00
|
|
|
[license]: https://github.com/mcu-tools/mcuboot/blob/main/LICENSE
|
2017-07-27 09:02:33 +08:00
|
|
|
|
2022-03-08 06:49:03 +08:00
|
|
|
This is MCUboot version 1.10.0-dev
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
MCUboot is a secure bootloader for 32-bits microcontrollers. It defines a
|
|
|
|
common infrastructure for the bootloader and the system flash layout on
|
|
|
|
microcontroller systems, and provides a secure bootloader that enables easy
|
|
|
|
software upgrade.
|
|
|
|
|
|
|
|
MCUboot is not dependent on any specific operating system and hardware and
|
|
|
|
relies on hardware porting layers from the operating system it works with.
|
|
|
|
Currently, MCUboot works with the following operating systems and SoCs:
|
|
|
|
- [Zephyr](https://www.zephyrproject.org/)
|
|
|
|
- [Apache Mynewt](https://mynewt.apache.org/)
|
|
|
|
- [Apache NuttX](https://nuttx.apache.org/)
|
|
|
|
- [RIOT](https://www.riot-os.org/)
|
|
|
|
- [Mbed OS](https://os.mbed.com/)
|
2022-01-27 05:13:50 +08:00
|
|
|
- [Espressif](https://www.espressif.com/)
|
2021-11-03 20:48:58 +08:00
|
|
|
- [Cypress/Infineon](https://www.cypress.com/)
|
|
|
|
|
|
|
|
RIOT is supported only as a boot target. We will accept any new
|
|
|
|
port contributed by the community once it is good enough.
|
|
|
|
|
|
|
|
## MCUboot How-tos
|
|
|
|
|
|
|
|
See the following pages for instructions on using MCUboot with different
|
|
|
|
operating systems and SoCs:
|
2018-01-23 22:43:46 +08:00
|
|
|
- [Zephyr](docs/readme-zephyr.md)
|
2021-11-03 20:48:58 +08:00
|
|
|
- [Apache Mynewt](docs/readme-mynewt.md)
|
|
|
|
- [Apache NuttX](docs/readme-nuttx.md)
|
2018-01-23 22:43:46 +08:00
|
|
|
- [RIOT](docs/readme-riot.md)
|
2021-11-03 20:48:58 +08:00
|
|
|
- [Mbed OS](docs/readme-mbed.md)
|
2022-01-27 05:13:50 +08:00
|
|
|
- [Espressif](docs/readme-espressif.md)
|
2021-11-03 20:48:58 +08:00
|
|
|
- [Cypress/Infineon](boot/cypress/readme.md)
|
|
|
|
|
|
|
|
There are also instructions for the [Simulator](sim/README.rst).
|
2018-01-23 22:43:46 +08:00
|
|
|
|
2017-02-08 05:12:19 +08:00
|
|
|
## Roadmap
|
|
|
|
|
2018-09-30 00:58:55 +08:00
|
|
|
The issues being planned and worked on are tracked using GitHub issues. To
|
2021-11-03 20:48:58 +08:00
|
|
|
give your input, visit [MCUboot GitHub
|
|
|
|
Issues](https://github.com/mcu-tools/mcuboot/issues).
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
## Source files
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
You can find additional documentation on the bootloader in the source files.
|
|
|
|
For more information, use the following links:
|
|
|
|
- [boot/bootutil](https://github.com/mcu-tools/mcuboot/tree/main/boot/bootutil) - The core of the bootloader itself.
|
|
|
|
- [boot/boot\_serial](https://github.com/mcu-tools/mcuboot/tree/main/boot/boot_serial) - Support for serial upgrade within the bootloader itself.
|
|
|
|
- [boot/zephyr](https://github.com/mcu-tools/mcuboot/tree/main/boot/zephyr) - Port of the bootloader to Zephyr.
|
|
|
|
- [boot/mynewt](https://github.com/mcu-tools/mcuboot/tree/main/boot/mynewt) - Bootloader application for Apache Mynewt.
|
|
|
|
- [boot/nuttx](https://github.com/mcu-tools/mcuboot/tree/main/boot/nuttx) - Bootloader application and port of MCUboot interfaces for Apache NuttX.
|
|
|
|
- [boot/mbed](https://github.com/mcu-tools/mcuboot/tree/main/boot/mbed) - Port of the bootloader to Mbed OS.
|
|
|
|
- [boot/espressif](https://github.com/mcu-tools/mcuboot/tree/main/boot/espressif) - Bootloader application and MCUboot port for Espressif SoCs.
|
|
|
|
- [boot/cypress](https://github.com/mcu-tools/mcuboot/tree/main/boot/cypress) - Bootloader application and MCUboot port for Cypress/Infineon SoCs.
|
|
|
|
- [imgtool](https://github.com/mcu-tools/mcuboot/tree/main/scripts/imgtool.py) - A tool to securely sign firmware images for booting by MCUboot.
|
|
|
|
- [sim](https://github.com/mcu-tools/mcuboot/tree/main/sim) - A bootloader simulator for testing and regression.
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
## Joining the project
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
Developers are welcome!
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-11-03 20:48:58 +08:00
|
|
|
Use the following links to join or see more about the project:
|
2017-02-08 05:12:19 +08:00
|
|
|
|
2021-10-20 20:57:50 +08:00
|
|
|
* [Our developer mailing list](https://groups.io/g/MCUBoot)
|
|
|
|
* [Our Slack channel](https://mcuboot.slack.com/) <br />
|
|
|
|
Get [your invite](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg)
|