2017-09-12 03:04:34 +08:00
|
|
|
# MCUboot
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
2017-09-13 01:37:29 +08:00
|
|
|
MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to
|
2017-09-12 03:06:38 +08:00
|
|
|
define a common infrastructure for the bootloader, system flash layout on
|
|
|
|
microcontroller systems, and to provide a secure bootloader that enables
|
2017-09-12 03:04:34 +08:00
|
|
|
easy software upgrade.
|
|
|
|
|
2018-09-30 00:58:55 +08:00
|
|
|
MCUboot is operating system and hardware independent and relies on
|
2017-09-12 03:04:34 +08:00
|
|
|
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.
|
|
|
|
|
2017-09-12 04:47:48 +08:00
|
|
|
## Contents
|
|
|
|
|
2019-11-01 23:32:20 +08:00
|
|
|
- General - this document
|
2018-02-13 01:31:32 +08:00
|
|
|
- [Release notes](release-notes.md)
|
2019-11-01 23:32:20 +08:00
|
|
|
- [Bootloader design](design.md)
|
|
|
|
- [Encrypted images](encrypted_images.md)
|
|
|
|
- [imgtool](imgtool.md) - image signing and key management
|
2019-12-13 07:19:55 +08:00
|
|
|
- [ecdsa](ecdsa.md) - Information about ECDSA signature formats
|
2018-01-23 22:43:46 +08:00
|
|
|
- Usage instructions:
|
2018-02-13 01:31:32 +08:00
|
|
|
- [Zephyr](readme-zephyr.md)
|
|
|
|
- [Mynewt](readme-mynewt.md)
|
|
|
|
- [RIOT](readme-riot.md)
|
2019-11-01 23:32:20 +08:00
|
|
|
- [Patch submission](SubmittingPatches.md) - information
|
|
|
|
on how to contribute to mcuboot
|
2017-09-12 04:47:48 +08:00
|
|
|
- Testing
|
2019-11-01 23:32:20 +08:00
|
|
|
- [Zephyr](testplan-zephyr.md) test plan
|
|
|
|
- [mynewt](testplan-mynewt.md) test plan
|
|
|
|
- [Release process](release.md)
|
2017-09-12 04:47:48 +08:00
|
|
|
|
2018-02-13 01:31:32 +08:00
|
|
|
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.
|
2017-09-12 04:47:48 +08:00
|
|
|
|
2017-09-12 03:04:34 +08:00
|
|
|
## Roadmap
|
|
|
|
|
2018-09-30 00:58:55 +08:00
|
|
|
The issues being planned and worked on are tracked using GitHub issues. To participate
|
2017-09-12 03:06:38 +08:00
|
|
|
please visit:
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2018-11-16 04:48:59 +08:00
|
|
|
[MCUboot Issues](https://github.com/JuulLabs-OSS/mcuboot/issues)
|
2018-09-30 00:58:55 +08:00
|
|
|
|
|
|
|
~~Issues were previously tracked on [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary)
|
|
|
|
, but it is now deprecated.~~
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2017-09-12 03:06:38 +08:00
|
|
|
## Browsing
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2018-09-30 00:58:55 +08:00
|
|
|
Information and documentation on the bootloader is stored within the source.
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2018-09-30 00:58:55 +08:00
|
|
|
~~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~~
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2017-09-12 03:06:38 +08:00
|
|
|
For more information in the source, here are some pointers:
|
2017-09-12 03:04:34 +08:00
|
|
|
|
2018-11-16 04:48:59 +08:00
|
|
|
- [boot/bootutil](https://github.com/JuulLabs-OSS/mcuboot/tree/master/boot/bootutil): The core of the bootloader itself.
|
|
|
|
- [boot/boot\_serial](https://github.com/JuulLabs-OSS/mcuboot/tree/master/boot/boot_serial): Support for serial upgrade within the bootloader itself.
|
|
|
|
- [boot/zephyr](https://github.com/JuulLabs-OSS/mcuboot/tree/master/boot/zephyr): Port of the bootloader to Zephyr
|
|
|
|
- [boot/mynewt](https://github.com/JuulLabs-OSS/mcuboot/tree/master/boot/mynewt): Mynewt bootloader app
|
|
|
|
- [imgtool](https://github.com/JuulLabs-OSS/mcuboot/tree/master/scripts/imgtool.py): A tool to securely sign firmware images for booting by MCUboot.
|
|
|
|
- [sim](https://github.com/JuulLabs-OSS/mcuboot/tree/master/sim): A bootloader simulator for testing and regression
|
2017-09-12 03:04:34 +08:00
|
|
|
|
|
|
|
## Joining
|
|
|
|
|
|
|
|
Developers welcome!
|
|
|
|
|
2020-01-22 23:26:04 +08:00
|
|
|
* [Our developer mailing list](https://groups.io/g/MCUBoot)
|
2017-09-12 03:04:34 +08:00
|
|
|
* [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)
|