blob: 861c4d17367f1d167a3beb90e5cc9bb99873f89d [file] [log] [blame] [view]
Fabio Utzig811205e2017-08-10 14:55:27 -03001# [mcuboot](http://mcuboot.com/)
2
Fabio Utzig0be390e2020-11-12 10:45:07 -03003[![Package on PyPI](https://img.shields.io/pypi/v/imgtool.svg)][pypi]
Fabio Utzig811205e2017-08-10 14:55:27 -03004[![Coverity Scan Build Status](https://scan.coverity.com/projects/12307/badge.svg)][coverity]
Fabio Utzig0be390e2020-11-12 10:45:07 -03005[![Build Status (Sim)](https://github.com/mcu-tools/mcuboot/workflows/Sim/badge.svg)][sim]
6[![Build Status (Mynewt)](https://github.com/mcu-tools/mcuboot/workflows/Mynewt/badge.svg)][mynewt]
7[![Publishing Status (imgtool)](https://github.com/mcu-tools/mcuboot/workflows/imgtool/badge.svg)][imgtool]
Roman Okhrimenko977b3752022-03-31 14:40:48 +03008[![Build Status (Travis CI)](https://img.shields.io/travis/mcu-tools/mcuboot/main.svg?label=travis-ci)][travis]
Fabio Utzig0be390e2020-11-12 10:45:07 -03009[![Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)][license]
Fabio Utzig811205e2017-08-10 14:55:27 -030010
Fabio Utzig0be390e2020-11-12 10:45:07 -030011[pypi]: https://pypi.org/project/imgtool/
Fabio Utzig811205e2017-08-10 14:55:27 -030012[coverity]: https://scan.coverity.com/projects/mcuboot
Fabio Utzigba042982020-11-12 13:17:46 -030013[sim]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:Sim
14[mynewt]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:Mynewt
15[imgtool]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:imgtool
Fabio Utzigde1d72d2020-11-10 12:35:04 -030016[travis]: https://travis-ci.org/mcu-tools/mcuboot
Roman Okhrimenko977b3752022-03-31 14:40:48 +030017[license]: https://github.com/mcu-tools/mcuboot/blob/main/LICENSE
Sterling Hughesb6903ec2017-02-07 13:12:19 -080018
Roman Okhrimenko977b3752022-03-31 14:40:48 +030019This is mcuboot version 1.8.0
David Browna3be2642017-07-26 19:02:33 -060020
David Brown586c84e2019-12-02 12:02:59 -070021MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to
Fabio Utzig811205e2017-08-10 14:55:27 -030022define a common infrastructure for the bootloader, system flash layout on
23microcontroller systems, and to provide a secure bootloader that enables
David Brown586c84e2019-12-02 12:02:59 -070024simple software upgrades.
Sterling Hughesb6903ec2017-02-07 13:12:19 -080025
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020026MCUboot is operating system and hardware independent and relies on
David Brown586c84e2019-12-02 12:02:59 -070027hardware porting layers from the operating. Currently, mcuboot works
28with both the Apache Mynewt and Zephyr operating systems, but more
29ports are planned in the future. RIOT is currently supported as a boot
Fabio Utzig756ca862017-07-20 13:38:22 -030030target with a complete port planned.
Sterling Hughesb6903ec2017-02-07 13:12:19 -080031
Carles Cufi3b61e702018-01-23 15:43:46 +010032## Using MCUboot
33
34Instructions for different operating systems can be found here:
35- [Zephyr](docs/readme-zephyr.md)
36- [Mynewt](docs/readme-mynewt.md)
37- [RIOT](docs/readme-riot.md)
George Beckstein1c399bb2020-11-05 00:51:09 -050038- [Mbed-OS](docs/readme-mbed.md)
Roman Okhrimenko977b3752022-03-31 14:40:48 +030039- [NuttX](docs/readme-nuttx.md)
40- [Espressif IDF](docs/readme-espressif.md)
David Brown4cb70cc2020-05-11 14:10:00 -060041- [Simulator](sim/README.rst)
Carles Cufi3b61e702018-01-23 15:43:46 +010042
Sterling Hughesb6903ec2017-02-07 13:12:19 -080043## Roadmap
44
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020045The issues being planned and worked on are tracked using GitHub issues. To
46participate please visit:
Sterling Hughesb6903ec2017-02-07 13:12:19 -080047
Fabio Utzigde1d72d2020-11-10 12:35:04 -030048[MCUBoot GitHub Issues](https://github.com/mcu-tools/mcuboot/issues)
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020049
50~~Issues were previously tracked on [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary)
51, but it is now deprecated.~~
Sterling Hughesb6903ec2017-02-07 13:12:19 -080052
Fabio Utzig811205e2017-08-10 14:55:27 -030053## Browsing
Sterling Hughesb6903ec2017-02-07 13:12:19 -080054
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020055Information and documentation on the bootloader are stored within the source.
Sterling Hughesb6903ec2017-02-07 13:12:19 -080056
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020057~~It was previously also documented on confluence:
58[MCUBoot Confluence](https://runtimeco.atlassian.net/wiki/discover/all-updates)
59however, it is now deprecated and not currently maintained~~
Sterling Hughesb6903ec2017-02-07 13:12:19 -080060
Fabio Utzig811205e2017-08-10 14:55:27 -030061For more information in the source, here are some pointers:
Sterling Hughesb6903ec2017-02-07 13:12:19 -080062
Fabio Utzigb519ed02018-02-13 14:20:03 -020063- [boot/bootutil](boot/bootutil): The core of the bootloader itself.
64- [boot/boot\_serial](boot/boot_serial): Support for serial upgrade within the bootloader itself.
65- [boot/zephyr](boot/zephyr): Port of the bootloader to Zephyr
66- [boot/mynewt](boot/mynewt): Mynewt bootloader app
Roman Okhrimenko977b3752022-03-31 14:40:48 +030067- [boot/nuttx](boot/nuttx): Bootloader application and port of MCUboot interfaces for NuttX.
68- [boot/espressif](boot/espressif): Bootloader application and MCUboot port for Espressif SoCs.
Fabio Utzigb519ed02018-02-13 14:20:03 -020069- [imgtool](scripts/imgtool.py): A tool to securely sign firmware images for booting by mcuboot.
70- [sim](sim): A bootloader simulator for testing and regression
Sterling Hughesb6903ec2017-02-07 13:12:19 -080071
Fabio Utzig74023742017-07-20 09:20:43 -030072## Joining
Sterling Hughesb6903ec2017-02-07 13:12:19 -080073
Fabio Utzig74023742017-07-20 09:20:43 -030074Developers welcome!
Sterling Hughesb6903ec2017-02-07 13:12:19 -080075
Fabio Utzig74023742017-07-20 09:20:43 -030076* Our developer mailing list:
David Browna222bf32020-02-07 11:53:06 -070077 https://groups.io/g/mcuboot
Fabio Utzig83e59292017-07-24 07:59:26 -030078* Our Slack channel: https://mcuboot.slack.com/ <br />
79 Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg)
Fabio Utzig74023742017-07-20 09:20:43 -030080* Our IRC channel: http://irc.freenode.net, #mcuboot