commit | 61fd888a7f4d741714553f36839dd49fb0065731 | [log] [tgz] |
---|---|---|
author | Fabio Utzig <utzig@apache.org> | Sat Sep 14 20:00:20 2019 -0300 |
committer | Fabio Utzig <utzig@utzig.org> | Wed Sep 18 07:38:50 2019 -0500 |
tree | 4a46b67badf37666eb1075259fe298ec52e54644 | |
parent | 4f0ea747c314547daa6b6299ccbd77ae4dee6758 [diff] |
Add TLV iterator API This introduces an API which allows for iteration over an image's TLVs without resorting to low-level implementation details. All previous TLV low-level handling was updated to comply with this new interface, and it also makes it easier for external code to handle TLVs. The API provides two functions: 1) To start a new iterator: ``` int bootutil_tlv_iter_begin(struct image_tlv_iter *it, const struct image_header *hdr, const struct flash_area *fap, uint8_t type, bool prot); ``` 2) To iterate over existing TLVs of given type: ``` int bootutil_tlv_iter_next(struct image_tlv_iter *it, uint32_t *off, uint16_t *len, uint8_t *type); ``` A type of IMAGE_TLV_ANY was added to allow for iteration over all TLVs. Low-level TLV access functions were removed from API, but low-level structs are still visible in the namespace. Signed-off-by: Fabio Utzig <utzig@apache.org>
This is mcuboot, version 1.3.1
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 using GitHub issues. To participate please visit:
Issues were previously tracked on MCUboot JIRA , but it is now deprecated.
Information and documentation on the bootloader are stored within the source.
It was previously also documented on confluence: MCUBoot Confluence however, it is now deprecated and not currently maintained
For more information in the source, here are some pointers:
Developers welcome!