commit | 7ebb7c23d90fba468c73951c66bd5f1bae11a2d8 | [log] [tgz] |
---|---|---|
author | Fabio Utzig <utzig@utzig.org> | Wed Apr 26 10:59:31 2017 -0300 |
committer | Fabio Utzig <utzig@utzig.org> | Wed May 24 08:45:53 2017 -0400 |
tree | 67434fc81a554b42d2ed6d6bedaffd0d449c7e90 | |
parent | d21abaaa35c31d88f9b4a18f82bce848adffb569 [diff] |
Update how trailer is handled during a swap Before this change, trailer was handled as part of the binary image, which during a swap was just copied around together with the image. This had issues if some fault happened while the trailer copy was underway. This patch changes how trailer is handled by making by non-copying. The trailer is now updated step-by-step based on the current status. Magic, copy_done and image_ok are also handled by writing them individually, not by copying. The trailer on scratch area was reduced to include at most swap state for one sector, since it is only used temporarily while erasing the last sector of the slot that stores the final trailer. Many other small fixes were applied.
MCUBoot is a secure bootloader for 32-bit MCUs. The goal of MCUBoot is to define a common infrastructure for the bootloader, system flash layout on microcontroller systems, and to provide a secure bootloader that enables easy software upgrade.
MCUboot is operating system and hardware independent, and relies on 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.
The MCUBoot project was originally taken from the Apache Mynewt operating system, which had secure boot and software upgrade functionality instrinsic to it. Currently development is heads down on a first release of MCUboot that works across both the Zephyr operating system and Apache Mynewt operating system.
For more information on what's being planned, and worked on, please visit:
https://runtimeco.atlassian.net/projects/MCUB/summary
Information and documentation on the bootloader is stored within the source, and on confluence:
https://runtimeco.atlassian.net/wiki/discover/all-updates
For more information in the source, here are some pointers:
Developers welcome! To join in the discussion, please join the developer mailing list:
http://lists.runtime.co/mailman/listinfo/dev-mcuboot_lists.runtime.co