Releases: PelionIoT/mbed-bootloader
Releases · PelionIoT/mbed-bootloader
Bootloader v4.1.3
Changes:
- Update Mbed OS to 5.15.2
- Allow boot messages on SWO instead of serial port.
- Disable standard output to save code size.
- Don't check boot counter on software reset.
- Allow configuring alternate entry point for bootloader instead of main.
- Add support for DISCO_F769NI.
- Add configuration for MIMXRT1050_EVK.
- Add configuration for L496AG.
- Add configuration for Uhuru Raven.
- Add configuration for Renesas GR-PEACH and LYCHEE.
- Add configuration for EP_AGORA target.
- Drop block_device_fake_rot.json configuration file.
- Allow specifying a startup delay before initializing storage hardware.
- NRF52840_DK: Adds information about UICR registers
- NRF52840_DK: Adds as release target and adds a new app config
- Small code cleanup and refactoring
Bootloader v4.1.2
Changes:
- Update Mbed OS to 5.15.0
- Build using Link-Time-Optimization
- Add internal no-ROT config for Nucleo H743ZI2
- Drop firmware update test code from sources
- Drop runSizeTestAndGenerateGraph.sh as the information is already provided Mbed OS
- Better Python3 support
- DISCO_F746NG - internal flash support
- Add NUCLEO_L4R5ZI - internal flash
Bootloader v4.1.1
Changes:
- Add NUCLEO F303RE internal kvstore with spif to release.
- Update Mbed OS to mbed-os-5.14.1
Bootloader support for Mbed OS 5.13
New features
- Build against Mbed OS 5.13.0
- Add configuration for KVStore on SPIF
- Support NUCLEO_F303RE
Improvements
- Documentation updates
- NUCLEO_F303RE Limit binary size to 36KB
- Support DISCO_L475VG_IOT01A using external QSPIF storage
- Small bugfixes
v4.0.2 - mbed-os 5.12.3 and PSA targets support
New Features
- Update mbed-os to 5.12.3
- Add new target support:
- DISCO_L475VG_IOT01A to internal flash configuration
- CY8CKIT_062_WIFI_BT_PSA and CY8CKIT_062_BLE
- LPC55S69_NS
- Add support for PSA targets
- Add an option to conditionally disable serial output
Improvements:
- SHA256 optimization
v4.0.1 - KVStore storage
New Features
- Root of trust is stored in KVStore on internal flash.
ARM_UCP_FLASHIAP_BLOCKDEVICE
update storage option uses the Mbed OS's default blockdevice for firmware storage.- Updated Mbed OS to 5.11.5.
- Added configurations for K64F and K66F to use internal flash firmware storage and KVStore for Pelion Device Management Client.
Improvements
- Bootloader no longer depends on Pelion Device Management Client. All files needed from PDMC have been put under the new modules folder.
- Removed dependency on external sd-driver repo. The bootloader now uses sd-driver included in mbed-os.
- Configuration is consolidated and it is now easier to add new devices to the config files.
- Fixed compiler warnings.
Important Note
- KVStore is not backward compatible with previous storage configurations. If your RoT is retrieved from NVStore/SOTP, please use bootloader v3.x.x.
v3.5.0 - New Mbed OS, New Boards
New Features
- Update mbed-os to 5.10.0
- Update cloud client dependency to 2.0.1.1
- Add configuration for NUCLEO_F303RE, NUCLEO_F207ZG, DISCO_L475VG_IOT01A, and NRF52840_DK
v3.4.0
New Features
- Add configuration file for a bootloader with default RoT and internal flash firmware storage for Nucleo_F429ZI and K64F
- Application start address can be configured independently of application jump address to support cases where the vector table is not at the start of the firmware image.
- Active Metadata Header is no longer required to be directly in front of the the active application. It's location can be independently configured.
- Add configuration for new platforms: NRF52, NUCLEO_F411RE
Improvements
- Upgrade to mbed-os-5.9.4
- Downgrade to sd-driver-0.1.2 to reduce binary size
- Use NVSTORE API shipped with Mbed-OS instead of SOTP API to retrieve the Root of Trust.
- Clean up configuration
- Guard sd block device instantiation so that when internal flash firmware storage is used, all sd-driver code can be linked out.
- Clean up coding style to conform to mbed-os coding style.
- Wrap ARM_UCP_FLASHIAP_BLOCKDEVICE so that it only contains the necessary read functions. This reduces binary size.
Important Note
- SOTP is being replaced with NVSTORE which is shipped in Mbed-OS. As NVSTORE is binary compatible with SOTP there is no breakage. The configuration of offsets are still be the same.
- In order to keep bootloader size to a minimum, please use latest arm-none-eabi-gcc. Current version is tested with version 7.3.1 which produces binary size smaller than 32k for K64F, UBLOX_EVK_ODIN_W2 and NUCLEO_F429ZI.
v3.3.0 - A Compact and Secure bootloader built using Mbed OS for Mbed Cloud
Features
Security
- Verifies integrity of firmware candidate before performing update.
- Verifies integrity of active firmware before boot
- Secure firmware candidate off-chip using HMAC protected firmware header
- Prevents rollback by rejecting any firmware with smaller version number than active firmware
Reliability
- Resilient against power cut.
Portability
- Built using mbed-os to 5.7.2, portable across mbed-os supported boards
- Supports multiple firmware storage media including filesystem, sd-blockdevice and internal flash.
- Flexible active firmware placement configurable at compile time.
Compact
- Less than 32k of binary size on most mbed-os supported platforms.
- By default use SD blockdevice to store firmware candidates
- Compile without RTOS and most of mbed-os features
- Use size optimised minimal-printf library
- Enable nano.specs for GCC
- Use a size optimised configuration file for mbedtls