index.md 3.19 KB
Newer Older
David Brown's avatar
David Brown committed
1
2
3
4
# MCUboot

## Overview

David Brown's avatar
David Brown committed
5
MCUboot is a secure bootloader for 32-bit MCUs.   The goal of MCUboot is to
6
7
define a common infrastructure for the bootloader, system flash layout on
microcontroller systems, and to provide a secure bootloader that enables
David Brown's avatar
David Brown committed
8
9
easy software upgrade.

10
MCUboot is operating system and hardware independent and relies on
David Brown's avatar
David Brown committed
11
12
13
14
15
hardware porting layers from the operating system it works with.  Currently
MCUboot works with both the Apache Mynewt, and Zephyr operating systems, but
more ports are planned in the future. RIOT is currently supported as a boot
target with a complete port planned.

16
17
## Contents

18
- General - this document
19
- [Release notes](release-notes.md)
20
21
22
- [Bootloader design](design.md)
- [Encrypted images](encrypted_images.md)
- [imgtool](imgtool.md) - image signing and key management
23
- [ecdsa](ecdsa.md) - Information about ECDSA signature formats
24
- Usage instructions:
25
26
27
  - [Zephyr](readme-zephyr.md)
  - [Mynewt](readme-mynewt.md)
  - [RIOT](readme-riot.md)
28
  - [Mbed-OS](readme-mbed.md)
29
30
- [Patch submission](SubmittingPatches.md) - information
  on how to contribute to mcuboot
31
- Testing
32
33
34
  - [Zephyr](testplan-zephyr.md) test plan
  - [mynewt](testplan-mynewt.md) test plan
- [Release process](release.md)
35

36
37
There is also a document about [signed images](signed_images.md) that is out
of date.  You should use `imgtool.py` instead of these documents.
38

David Brown's avatar
David Brown committed
39
40
## Roadmap

41
The issues being planned and worked on are tracked using GitHub issues. To participate
42
please visit:
David Brown's avatar
David Brown committed
43

44
[MCUboot Issues](https://github.com/mcu-tools/mcuboot/issues)
45
46
47

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

49
## Browsing
David Brown's avatar
David Brown committed
50

51
Information and documentation on the bootloader is stored within the source.
David Brown's avatar
David Brown committed
52

53
54
~~It was previously also documented on confluence: [Confluence page](https://runtimeco.atlassian.net/wiki/discover/all-updates)
, but it is now deprecated and not currently maintained~~
David Brown's avatar
David Brown committed
55

56
For more information in the source, here are some pointers:
David Brown's avatar
David Brown committed
57

58
59
60
61
62
63
64
- [boot/bootutil](https://github.com/mcu-tools/mcuboot/tree/master/boot/bootutil): The core of the bootloader itself.
- [boot/boot\_serial](https://github.com/mcu-tools/mcuboot/tree/master/boot/boot_serial): Support for serial upgrade within the bootloader itself.
- [boot/zephyr](https://github.com/mcu-tools/mcuboot/tree/master/boot/zephyr): Port of the bootloader to Zephyr
- [boot/mynewt](https://github.com/mcu-tools/mcuboot/tree/master/boot/mynewt): Mynewt bootloader app
- [boot/mbed](https://github.com/mcu-tools/mcuboot/tree/master/boot/mbed): Port of the bootloader to Mbed-OS
- [imgtool](https://github.com/mcu-tools/mcuboot/tree/master/scripts/imgtool.py): A tool to securely sign firmware images for booting by MCUboot.
- [sim](https://github.com/mcu-tools/mcuboot/tree/master/sim): A bootloader simulator for testing and regression
David Brown's avatar
David Brown committed
65
66
67
68
69

## Joining

Developers welcome!

Fabio Utzig's avatar
Fabio Utzig committed
70
* [Our developer mailing list](https://groups.io/g/MCUBoot)
David Brown's avatar
David Brown committed
71
72
73
74
* [Our Slack channel](https://mcuboot.slack.com/)<br />
  Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg)
* [Our IRC channel](http://irc.freenode.net), channel #mcuboot ([IRC
  link](irc://chat.freenode.net/#mcuboot)