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.
|
|
|
|
|
2017-09-12 03:06:38 +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
|
|
|
|
|
|
|
|
- General: this document
|
2017-09-13 00:59:39 +08:00
|
|
|
- [Release notes]({% link release-notes.md %})
|
2017-09-13 01:53:20 +08:00
|
|
|
- [design]({% link design.md %}): for the design
|
2017-09-12 04:47:48 +08:00
|
|
|
- [imgtool]({% link imgtool.md %}): The image signing and key management
|
2018-01-23 22:43:46 +08:00
|
|
|
- Usage instructions:
|
|
|
|
- [Zephyr]({% link readme-zephyr.md %})
|
|
|
|
- [Mynewt]({% link readme-mynewt.md %})
|
|
|
|
- [RIOT]({% link readme-riot.md %})
|
2017-09-12 04:47:48 +08:00
|
|
|
- [Patch submission]({% link SubmittingPatches.md %}) for information
|
|
|
|
on how to contribute to mcuboot.
|
|
|
|
- Testing
|
|
|
|
- The [Zephyr]({% link testplan-zephyr.md %}) test plan.
|
|
|
|
- The [mynewt]({% link testplan-mynewt.md %}) test plan.
|
2017-09-13 00:36:19 +08:00
|
|
|
- Our [release process]({% link release.md %}).
|
2017-09-12 04:47:48 +08:00
|
|
|
|
|
|
|
There is also a document about [signed images]({% link
|
|
|
|
signed_images.md %}) that is out of date. You should use `imgtool.py`
|
|
|
|
instead of these documents.
|
|
|
|
|
2017-09-12 03:04:34 +08:00
|
|
|
## Roadmap
|
|
|
|
|
|
|
|
The issues being planned and worked on are tracked on Jira. To participate
|
2017-09-12 03:06:38 +08:00
|
|
|
please visit:
|
2017-09-12 03:04:34 +08:00
|
|
|
|
|
|
|
[MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary)
|
|
|
|
|
2017-09-12 03:06:38 +08:00
|
|
|
## Browsing
|
2017-09-12 03:04:34 +08:00
|
|
|
|
|
|
|
Information and documentation on the bootloader is stored within the source, and on confluence:
|
|
|
|
|
|
|
|
[Confluence page](https://runtimeco.atlassian.net/wiki/discover/all-updates)
|
|
|
|
|
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
|
|
|
|
|
|
|
- [boot/bootutil](https://github.com/runtimeco/mcuboot/tree/master/boot/bootutil): The core of the bootloader itself.
|
|
|
|
- [boot/boot\_serial](https://github.com/runtimeco/mcuboot/tree/master/boot/boot_serial): Support for serial upgrade within the bootloader itself.
|
|
|
|
- [boot/zephyr](https://github.com/runtimeco/mcuboot/tree/master/boot/zephyr): Port of the bootloader to Zephyr
|
|
|
|
- [boot/mynewt](https://github.com/runtimeco/mcuboot/tree/master/boot/mynewt): Mynewt bootloader app
|
2017-09-28 23:46:54 +08:00
|
|
|
- [imgtool](https://github.com/runtimeco/mcuboot/tree/master/scripts/imgtool.py): A tool to securely sign firmware images for booting by MCUboot.
|
2017-09-12 03:04:34 +08:00
|
|
|
- [sim](https://github.com/runtimeco/mcuboot/tree/master/sim): A bootloader simulator for testing and regression
|
|
|
|
|
|
|
|
## Joining
|
|
|
|
|
|
|
|
Developers welcome!
|
|
|
|
|
|
|
|
* [Our developer mailing list](http://lists.runtime.co/mailman/listinfo/dev-mcuboot_lists.runtime.co)
|
|
|
|
* [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)
|