commit | 178be54bd6e5f035cc60e98205535682acd26e64 | [log] [tgz] |
---|---|---|
author | Fabio Utzig <utzig@apache.org> | Wed Sep 19 08:12:56 2018 -0300 |
committer | Fabio Utzig <utzig@utzig.org> | Mon Oct 01 21:42:20 2018 -0300 |
tree | 56bddd0afcc26827db647f81ad1263ceb4fe9849 | |
parent | cea90f970f844b5a2e4918d3290ff0146f104e8c [diff] |
Test erased flash with "flash_area_read_is_empty()" Mynewt has recently added an encrypted flash layer driver, that runs transparently on any flash, handling reads and writes, and bypassing other flash operations to the HW driver. As a result of this change, checking for erased data cannot be done by read + compare to erased_val but need to be routed to an empty check on the lower level. To do this Mynewt added a new flash_map function called "flash_area_read_is_empty" which checks for erased blocks (and reads/decrypts the data as well). This commit uses `flash_area_read_is_empty` to determine if magic, flags and swap status are erased. For Zephyr/sim commits were added previously that mimic this functionality by simply doing the read/compare. Signed-off-by: Fabio Utzig <utzig@apache.org>
This is mcuboot, version 1.2.0
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. RIOT is currently supported as a boot target with a complete port planned.
Instructions for different operating systems can be found here:
The issues being planned and worked on are tracked on Jira. To participate 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!