David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 1 | # MCUboot |
| 2 | |
| 3 | ## Overview |
| 4 | |
David Brown | e5f2d1c | 2017-09-12 11:37:29 -0600 | [diff] [blame] | 5 | MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 6 | define a common infrastructure for the bootloader, system flash layout on |
| 7 | microcontroller systems, and to provide a secure bootloader that enables |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 8 | easy software upgrade. |
| 9 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 10 | MCUboot is operating system and hardware independent, and relies on |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 11 | hardware porting layers from the operating system it works with. Currently |
| 12 | MCUboot works with both the Apache Mynewt, and Zephyr operating systems, but |
| 13 | more ports are planned in the future. RIOT is currently supported as a boot |
| 14 | target with a complete port planned. |
| 15 | |
David Brown | d2fcc21 | 2017-09-11 14:47:48 -0600 | [diff] [blame] | 16 | ## Contents |
| 17 | |
| 18 | - General: this document |
David Brown | 37f8afd | 2017-09-12 10:59:39 -0600 | [diff] [blame] | 19 | - [Release notes]({% link release-notes.md %}) |
David Brown | 17e20d1 | 2017-09-12 11:53:20 -0600 | [diff] [blame^] | 20 | - [design]({% link design.md %}): for the design |
David Brown | d2fcc21 | 2017-09-11 14:47:48 -0600 | [diff] [blame] | 21 | - [imgtool]({% link imgtool.md %}): The image signing and key management |
| 22 | tool. |
| 23 | - [Patch submission]({% link SubmittingPatches.md %}) for information |
| 24 | on how to contribute to mcuboot. |
David Brown | d2fcc21 | 2017-09-11 14:47:48 -0600 | [diff] [blame] | 25 | - Testing |
| 26 | - The [Zephyr]({% link testplan-zephyr.md %}) test plan. |
| 27 | - The [mynewt]({% link testplan-mynewt.md %}) test plan. |
David Brown | c337025 | 2017-09-12 10:36:19 -0600 | [diff] [blame] | 28 | - Our [release process]({% link release.md %}). |
David Brown | d2fcc21 | 2017-09-11 14:47:48 -0600 | [diff] [blame] | 29 | |
| 30 | There is also a document about [signed images]({% link |
| 31 | signed_images.md %}) that is out of date. You should use `imgtool.py` |
| 32 | instead of these documents. |
| 33 | |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 34 | ## Roadmap |
| 35 | |
| 36 | The issues being planned and worked on are tracked on Jira. To participate |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 37 | please visit: |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 38 | |
| 39 | [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary) |
| 40 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 41 | ## Browsing |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 42 | |
| 43 | Information and documentation on the bootloader is stored within the source, and on confluence: |
| 44 | |
| 45 | [Confluence page](https://runtimeco.atlassian.net/wiki/discover/all-updates) |
| 46 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 47 | For more information in the source, here are some pointers: |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 48 | |
| 49 | - [boot/bootutil](https://github.com/runtimeco/mcuboot/tree/master/boot/bootutil): The core of the bootloader itself. |
| 50 | - [boot/boot\_serial](https://github.com/runtimeco/mcuboot/tree/master/boot/boot_serial): Support for serial upgrade within the bootloader itself. |
| 51 | - [boot/zephyr](https://github.com/runtimeco/mcuboot/tree/master/boot/zephyr): Port of the bootloader to Zephyr |
| 52 | - [boot/mynewt](https://github.com/runtimeco/mcuboot/tree/master/boot/mynewt): Mynewt bootloader app |
| 53 | - [imgtool](https://github.com/runtimeco/mcuboot/tree/master/imgtool): A tool to securely sign firmware images for booting by MCUboot. |
| 54 | - [sim](https://github.com/runtimeco/mcuboot/tree/master/sim): A bootloader simulator for testing and regression |
| 55 | |
| 56 | ## Joining |
| 57 | |
| 58 | Developers welcome! |
| 59 | |
| 60 | * [Our developer mailing list](http://lists.runtime.co/mailman/listinfo/dev-mcuboot_lists.runtime.co) |
| 61 | * [Our Slack channel](https://mcuboot.slack.com/)<br /> |
| 62 | Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg) |
| 63 | * [Our IRC channel](http://irc.freenode.net), channel #mcuboot ([IRC |
| 64 | link](irc://chat.freenode.net/#mcuboot) |