blob: 853569efd8236807b632df3d214f1e83022a5ba3 [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]
8[![Build Status (Travis CI)](https://img.shields.io/travis/mcu-tools/mcuboot/master.svg?label=travis-ci)][travis]
9[![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 Utzig0be390e2020-11-12 10:45:07 -030013[sim]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:.github/workflows/sim.yaml
14[mynewt]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:.github/workflows/mynewt.yaml
15[imgtool]: https://github.com/mcu-tools/mcuboot/actions?query=workflow:.github/workflows/imgtool.yaml
Fabio Utzigde1d72d2020-11-10 12:35:04 -030016[travis]: https://travis-ci.org/mcu-tools/mcuboot
Fabio Utzig0be390e2020-11-12 10:45:07 -030017[license]: https://github.com/mcu-tools/mcuboot/blob/master/LICENSE
Sterling Hughesb6903ec2017-02-07 13:12:19 -080018
Andrzej Puzdrowskie7596612020-11-10 14:54:41 +010019This is mcuboot version 1.7.0-rc2
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)
David Brown4cb70cc2020-05-11 14:10:00 -060039- [Simulator](sim/README.rst)
Carles Cufi3b61e702018-01-23 15:43:46 +010040
Sterling Hughesb6903ec2017-02-07 13:12:19 -080041## Roadmap
42
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020043The issues being planned and worked on are tracked using GitHub issues. To
44participate please visit:
Sterling Hughesb6903ec2017-02-07 13:12:19 -080045
Fabio Utzigde1d72d2020-11-10 12:35:04 -030046[MCUBoot GitHub Issues](https://github.com/mcu-tools/mcuboot/issues)
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020047
48~~Issues were previously tracked on [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary)
49, but it is now deprecated.~~
Sterling Hughesb6903ec2017-02-07 13:12:19 -080050
Fabio Utzig811205e2017-08-10 14:55:27 -030051## Browsing
Sterling Hughesb6903ec2017-02-07 13:12:19 -080052
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020053Information and documentation on the bootloader are stored within the source.
Sterling Hughesb6903ec2017-02-07 13:12:19 -080054
Sigvart M. Hovland68b30532018-09-29 18:58:55 +020055~~It was previously also documented on confluence:
56[MCUBoot Confluence](https://runtimeco.atlassian.net/wiki/discover/all-updates)
57however, it is now deprecated and not currently maintained~~
Sterling Hughesb6903ec2017-02-07 13:12:19 -080058
Fabio Utzig811205e2017-08-10 14:55:27 -030059For more information in the source, here are some pointers:
Sterling Hughesb6903ec2017-02-07 13:12:19 -080060
Fabio Utzigb519ed02018-02-13 14:20:03 -020061- [boot/bootutil](boot/bootutil): The core of the bootloader itself.
62- [boot/boot\_serial](boot/boot_serial): Support for serial upgrade within the bootloader itself.
63- [boot/zephyr](boot/zephyr): Port of the bootloader to Zephyr
64- [boot/mynewt](boot/mynewt): Mynewt bootloader app
65- [imgtool](scripts/imgtool.py): A tool to securely sign firmware images for booting by mcuboot.
66- [sim](sim): A bootloader simulator for testing and regression
Sterling Hughesb6903ec2017-02-07 13:12:19 -080067
Fabio Utzig74023742017-07-20 09:20:43 -030068## Joining
Sterling Hughesb6903ec2017-02-07 13:12:19 -080069
Fabio Utzig74023742017-07-20 09:20:43 -030070Developers welcome!
Sterling Hughesb6903ec2017-02-07 13:12:19 -080071
Fabio Utzig74023742017-07-20 09:20:43 -030072* Our developer mailing list:
David Browna222bf32020-02-07 11:53:06 -070073 https://groups.io/g/mcuboot
Fabio Utzig83e59292017-07-24 07:59:26 -030074* Our Slack channel: https://mcuboot.slack.com/ <br />
75 Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg)
Fabio Utzig74023742017-07-20 09:20:43 -030076* Our IRC channel: http://irc.freenode.net, #mcuboot