David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 1 | # MCUboot |
| 2 | |
| 3 | ## Overview |
| 4 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 5 | MCUBoot is a secure bootloader for 32-bit MCUs. The goal of MCUBoot is to |
| 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 |
| 19 | - [design]({% link design.txt %}): for the design |
| 20 | - [imgtool]({% link imgtool.md %}): The image signing and key management |
| 21 | tool. |
| 22 | - [Patch submission]({% link SubmittingPatches.md %}) for information |
| 23 | on how to contribute to mcuboot. |
| 24 | - The [internal design]({% link design.txt %}) documentation. |
| 25 | - Testing |
| 26 | - The [Zephyr]({% link testplan-zephyr.md %}) test plan. |
| 27 | - The [mynewt]({% link testplan-mynewt.md %}) test plan. |
| 28 | |
| 29 | There is also a document about [signed images]({% link |
| 30 | signed_images.md %}) that is out of date. You should use `imgtool.py` |
| 31 | instead of these documents. |
| 32 | |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 33 | ## Roadmap |
| 34 | |
| 35 | 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] | 36 | please visit: |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 37 | |
| 38 | [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary) |
| 39 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 40 | ## Browsing |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 41 | |
| 42 | Information and documentation on the bootloader is stored within the source, and on confluence: |
| 43 | |
| 44 | [Confluence page](https://runtimeco.atlassian.net/wiki/discover/all-updates) |
| 45 | |
David Brown | c20b997 | 2017-09-11 13:06:38 -0600 | [diff] [blame] | 46 | For more information in the source, here are some pointers: |
David Brown | 12b9ded | 2017-09-11 13:04:34 -0600 | [diff] [blame] | 47 | |
| 48 | - [boot/bootutil](https://github.com/runtimeco/mcuboot/tree/master/boot/bootutil): The core of the bootloader itself. |
| 49 | - [boot/boot\_serial](https://github.com/runtimeco/mcuboot/tree/master/boot/boot_serial): Support for serial upgrade within the bootloader itself. |
| 50 | - [boot/zephyr](https://github.com/runtimeco/mcuboot/tree/master/boot/zephyr): Port of the bootloader to Zephyr |
| 51 | - [boot/mynewt](https://github.com/runtimeco/mcuboot/tree/master/boot/mynewt): Mynewt bootloader app |
| 52 | - [imgtool](https://github.com/runtimeco/mcuboot/tree/master/imgtool): A tool to securely sign firmware images for booting by MCUboot. |
| 53 | - [sim](https://github.com/runtimeco/mcuboot/tree/master/sim): A bootloader simulator for testing and regression |
| 54 | |
| 55 | ## Joining |
| 56 | |
| 57 | Developers welcome! |
| 58 | |
| 59 | * [Our developer mailing list](http://lists.runtime.co/mailman/listinfo/dev-mcuboot_lists.runtime.co) |
| 60 | * [Our Slack channel](https://mcuboot.slack.com/)<br /> |
| 61 | Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg) |
| 62 | * [Our IRC channel](http://irc.freenode.net), channel #mcuboot ([IRC |
| 63 | link](irc://chat.freenode.net/#mcuboot) |