Fabio Utzig | 811205e | 2017-08-10 14:55:27 -0300 | [diff] [blame] | 1 | # [mcuboot](http://mcuboot.com/) |
| 2 | |
| 3 | [][coverity] |
Fabio Utzig | a3c2f05 | 2018-11-15 18:48:59 -0200 | [diff] [blame] | 4 | [][travis] |
Fabio Utzig | 811205e | 2017-08-10 14:55:27 -0300 | [diff] [blame] | 5 | |
| 6 | [coverity]: https://scan.coverity.com/projects/mcuboot |
Fabio Utzig | a3c2f05 | 2018-11-15 18:48:59 -0200 | [diff] [blame] | 7 | [travis]: https://travis-ci.org/JuulLabs-OSS/mcuboot |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 8 | |
David Brown | d758177 | 2019-10-15 12:00:25 -0600 | [diff] [blame^] | 9 | This is mcuboot, version 1.4.0-rc2 |
David Brown | a3be264 | 2017-07-26 19:02:33 -0600 | [diff] [blame] | 10 | |
Carles Cufi | 90eda80 | 2018-01-29 18:33:20 +0100 | [diff] [blame] | 11 | MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to |
Fabio Utzig | 811205e | 2017-08-10 14:55:27 -0300 | [diff] [blame] | 12 | define a common infrastructure for the bootloader, system flash layout on |
| 13 | microcontroller systems, and to provide a secure bootloader that enables |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 14 | easy software upgrade. |
| 15 | |
Sigvart M. Hovland | 68b3053 | 2018-09-29 18:58:55 +0200 | [diff] [blame] | 16 | MCUboot is operating system and hardware independent and relies on |
| 17 | hardware porting layers from the operating system it works with. Currently, |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 18 | mcuboot works with both the Apache Mynewt, and Zephyr operating systems, but |
Fabio Utzig | 097f76b | 2017-07-20 08:59:51 -0300 | [diff] [blame] | 19 | more ports are planned in the future. RIOT is currently supported as a boot |
Fabio Utzig | 756ca86 | 2017-07-20 13:38:22 -0300 | [diff] [blame] | 20 | target with a complete port planned. |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 21 | |
Carles Cufi | 3b61e70 | 2018-01-23 15:43:46 +0100 | [diff] [blame] | 22 | ## Using MCUboot |
| 23 | |
| 24 | Instructions for different operating systems can be found here: |
| 25 | - [Zephyr](docs/readme-zephyr.md) |
| 26 | - [Mynewt](docs/readme-mynewt.md) |
| 27 | - [RIOT](docs/readme-riot.md) |
| 28 | |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 29 | ## Roadmap |
| 30 | |
Sigvart M. Hovland | 68b3053 | 2018-09-29 18:58:55 +0200 | [diff] [blame] | 31 | The issues being planned and worked on are tracked using GitHub issues. To |
| 32 | participate please visit: |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 33 | |
Fabio Utzig | a3c2f05 | 2018-11-15 18:48:59 -0200 | [diff] [blame] | 34 | [MCUBoot GitHub Issues](https://github.com/JuulLabs-OSS/mcuboot/issues) |
Sigvart M. Hovland | 68b3053 | 2018-09-29 18:58:55 +0200 | [diff] [blame] | 35 | |
| 36 | ~~Issues were previously tracked on [MCUboot JIRA](https://runtimeco.atlassian.net/projects/MCUB/summary) |
| 37 | , but it is now deprecated.~~ |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 38 | |
Fabio Utzig | 811205e | 2017-08-10 14:55:27 -0300 | [diff] [blame] | 39 | ## Browsing |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 40 | |
Sigvart M. Hovland | 68b3053 | 2018-09-29 18:58:55 +0200 | [diff] [blame] | 41 | Information and documentation on the bootloader are stored within the source. |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 42 | |
Sigvart M. Hovland | 68b3053 | 2018-09-29 18:58:55 +0200 | [diff] [blame] | 43 | ~~It was previously also documented on confluence: |
| 44 | [MCUBoot Confluence](https://runtimeco.atlassian.net/wiki/discover/all-updates) |
| 45 | however, it is now deprecated and not currently maintained~~ |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 46 | |
Fabio Utzig | 811205e | 2017-08-10 14:55:27 -0300 | [diff] [blame] | 47 | For more information in the source, here are some pointers: |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 48 | |
Fabio Utzig | b519ed0 | 2018-02-13 14:20:03 -0200 | [diff] [blame] | 49 | - [boot/bootutil](boot/bootutil): The core of the bootloader itself. |
| 50 | - [boot/boot\_serial](boot/boot_serial): Support for serial upgrade within the bootloader itself. |
| 51 | - [boot/zephyr](boot/zephyr): Port of the bootloader to Zephyr |
| 52 | - [boot/mynewt](boot/mynewt): Mynewt bootloader app |
| 53 | - [imgtool](scripts/imgtool.py): A tool to securely sign firmware images for booting by mcuboot. |
| 54 | - [sim](sim): A bootloader simulator for testing and regression |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 55 | |
Fabio Utzig | 7402374 | 2017-07-20 09:20:43 -0300 | [diff] [blame] | 56 | ## Joining |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 57 | |
Fabio Utzig | 7402374 | 2017-07-20 09:20:43 -0300 | [diff] [blame] | 58 | Developers welcome! |
Sterling Hughes | b6903ec | 2017-02-07 13:12:19 -0800 | [diff] [blame] | 59 | |
Fabio Utzig | 7402374 | 2017-07-20 09:20:43 -0300 | [diff] [blame] | 60 | * Our developer mailing list: |
| 61 | http://lists.runtime.co/mailman/listinfo/dev-mcuboot_lists.runtime.co |
Fabio Utzig | 83e5929 | 2017-07-24 07:59:26 -0300 | [diff] [blame] | 62 | * Our Slack channel: https://mcuboot.slack.com/ <br /> |
| 63 | Get your invite [here!](https://join.slack.com/t/mcuboot/shared_invite/MjE2NDcwMTQ2MTYyLTE1MDA4MTIzNTAtYzgyZTU0NjFkMg) |
Fabio Utzig | 7402374 | 2017-07-20 09:20:43 -0300 | [diff] [blame] | 64 | * Our IRC channel: http://irc.freenode.net, #mcuboot |