Crate embedded_update
source · [−]Expand description
Firmware updates for embedded devices
The embedded-update crate implements a firmware update protocol for embedded devices connected to a firmware update service, which works in no_std (bare metal) environments.
Both the device to be updated and the update service are pluggable, so the protocol can be used with any device or service that implements the provided traits. This means you can use the library directly on an embedded device, or on a gateway that proxies multiple devices.
The library provides the InMemory and Serial reference implementations of the UpdateService trait, and the Simulator and Serial implementations for the FirmwareDevice trait.
Update service and device implementations can be added to embedded-update when types and traits for interacting with device flash and network connections are more widely available.
Supported update services
Drogue Cloudby enabling thedroguefeature.
Supported devices
Device side implementations can be found in Drogue Device.
Minimum supported Rust version (MSRV)
embedded-update requires two features from nightly to compile:
generic_associated_typestype_alias_impl_trait
These features are complete, but are not yet merged to stable.
Modules
FirmwareDevice trait.UpdateService trait.Structs
Enums
Traits
FirmwareUpdater.