README.md 3.53 KB
Newer Older
1
# [MCUboot](http://mcuboot.com/)
Sterling Hughes's avatar
Sterling Hughes committed
2

3
[![Package on PyPI](https://img.shields.io/pypi/v/imgtool.svg)][pypi]
Fabio Utzig's avatar
Fabio Utzig committed
4
[![Coverity Scan Build Status](https://scan.coverity.com/projects/12307/badge.svg)][coverity]
5
6
7
[![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]
David Brown's avatar
David Brown committed
8
[![Build Status (Travis CI)](https://img.shields.io/travis/mcu-tools/mcuboot/main.svg?label=travis-ci)][travis]
9
[![Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)][license]
Fabio Utzig's avatar
Fabio Utzig committed
10

11
[pypi]: https://pypi.org/project/imgtool/
Fabio Utzig's avatar
Fabio Utzig committed
12
[coverity]: https://scan.coverity.com/projects/mcuboot
13
14
15
[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
16
[travis]: https://travis-ci.org/mcu-tools/mcuboot
David Brown's avatar
David Brown committed
17
[license]: https://github.com/mcu-tools/mcuboot/blob/main/LICENSE
David Brown's avatar
David Brown committed
18

19
This is MCUboot version 1.8.0
Sterling Hughes's avatar
Sterling Hughes committed
20

21
MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to
Fabio Utzig's avatar
Fabio Utzig committed
22
23
define a common infrastructure for the bootloader, system flash layout on
microcontroller systems, and to provide a secure bootloader that enables
24
simple software upgrades.
Sterling Hughes's avatar
Sterling Hughes committed
25

26
MCUboot is operating system and hardware independent and relies on
27
hardware porting layers from the operating. Currently, MCUboot works
28
29
with both the Apache Mynewt and Zephyr operating systems, but more
ports are planned in the future. RIOT is currently supported as a boot
Fabio Utzig's avatar
Fabio Utzig committed
30
target with a complete port planned.
Sterling Hughes's avatar
Sterling Hughes committed
31

32
33
34
35
36
37
## Using MCUboot

Instructions for different operating systems can be found here:
- [Zephyr](docs/readme-zephyr.md)
- [Mynewt](docs/readme-mynewt.md)
- [RIOT](docs/readme-riot.md)
38
- [Mbed-OS](docs/readme-mbed.md)
39
- [NuttX](docs/readme-nuttx.md)
40
- [Espressif IDF](docs/readme-espressif.md)
41
- [Simulator](sim/README.rst)
42

Sterling Hughes's avatar
Sterling Hughes committed
43
44
## Roadmap

45
46
The issues being planned and worked on are tracked using GitHub issues. To
participate please visit:
Sterling Hughes's avatar
Sterling Hughes committed
47

48
[MCUboot GitHub Issues](https://github.com/mcu-tools/mcuboot/issues)
49
50
51

~~Issues were previously tracked on [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary)
, but it is now deprecated.~~
Sterling Hughes's avatar
Sterling Hughes committed
52

Fabio Utzig's avatar
Fabio Utzig committed
53
## Browsing
Sterling Hughes's avatar
Sterling Hughes committed
54

55
Information and documentation on the bootloader are stored within the source.
Sterling Hughes's avatar
Sterling Hughes committed
56

57
~~It was previously also documented on confluence:
58
[MCUboot Confluence](https://runtimeco.atlassian.net/wiki/discover/all-updates)
59
however, it is now deprecated and not currently maintained~~
Sterling Hughes's avatar
Sterling Hughes committed
60

Fabio Utzig's avatar
Fabio Utzig committed
61
For more information in the source, here are some pointers:
Sterling Hughes's avatar
Sterling Hughes committed
62

Fabio Utzig's avatar
Fabio Utzig committed
63
64
65
66
- [boot/bootutil](boot/bootutil): The core of the bootloader itself.
- [boot/boot\_serial](boot/boot_serial): Support for serial upgrade within the bootloader itself.
- [boot/zephyr](boot/zephyr): Port of the bootloader to Zephyr
- [boot/mynewt](boot/mynewt): Mynewt bootloader app
67
- [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.
69
- [imgtool](scripts/imgtool.py): A tool to securely sign firmware images for booting by MCUboot.
Fabio Utzig's avatar
Fabio Utzig committed
70
- [sim](sim): A bootloader simulator for testing and regression
Sterling Hughes's avatar
Sterling Hughes committed
71

Fabio Utzig's avatar
Fabio Utzig committed
72
## Joining
Sterling Hughes's avatar
Sterling Hughes committed
73

Fabio Utzig's avatar
Fabio Utzig committed
74
Developers welcome!
Sterling Hughes's avatar
Sterling Hughes committed
75

76
77
78
* [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)