Initial commit
Initial commit.
This commit is contained in:
47
bootloader/mcuboot/docs/readme-riot.md
Normal file
47
bootloader/mcuboot/docs/readme-riot.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Building and using MCUboot with RIOT
|
||||
|
||||
MCUboot began its life as the bootloader for Mynewt. It has since
|
||||
acquired the ability to be used as a bootloader for RIOT as well.
|
||||
Currently the support is limited to the nrf52dk platform.
|
||||
|
||||
## Building the bootloader itself
|
||||
|
||||
In this first version, a prebuilt Mynewt binary is downloaded at
|
||||
compile time. This binary was compiled to do an integrity check, but
|
||||
not a signature check. In order to configure the bootloader for
|
||||
signature check it is necessary to re-compile it either with Mynewt
|
||||
or Zephyr, following the provided instructions.
|
||||
|
||||
In the next version, it is planned to compile MCUboot using RIOT,
|
||||
which should be able to boot any of the supported OS images.
|
||||
|
||||
## Building applications for the bootloader
|
||||
|
||||
A compatible MCUboot image can be compiled by typing: `make mcuboot`.
|
||||
|
||||
The only variable which needs to be set is `IMAGE_VERSION` loaded
|
||||
with a valid formatted value. The format is `major.minor.patch+other`
|
||||
(e.g. `export IMAGE_VERSION= 1.1.1+1`. This variable can be either
|
||||
exported in the Makefile or manually, prior to the compilation process.
|
||||
|
||||
The goal is to produce an ELF file which is linked to be flashed at a
|
||||
`BOOTLOADER_OFFSET` offset rather than the beginning of ROM. MCUboot
|
||||
also expects an image padded with some specific headers containing the
|
||||
version information, and trailer type-length-value records (TLVs) with
|
||||
hash and signing information. This is done through the imgtool.py
|
||||
application, which is executed automatically by the RIOT build system.
|
||||
|
||||
### Signing the application
|
||||
|
||||
The application will be automatically signed with the provided key.
|
||||
If no key is provided, a new key will be automatically generated. The
|
||||
default key type is RSA-2048.
|
||||
|
||||
In order to use your provided key, you need to recompile the bootloader
|
||||
using you public key, either in Zephyr or Mynewt by following the
|
||||
provided procedure for the selected OS.
|
||||
|
||||
### Flashing the application
|
||||
|
||||
The application can be flashed by typing: `make flash-mcuboot`.
|
||||
This will flash both the bootloader and the application.
|
||||
Reference in New Issue
Block a user