14个版本 (破坏性更新)
0.12.0 | 2023年10月6日 |
---|---|
0.11.0 | 2023年4月26日 |
0.10.0 | 2022年11月28日 |
0.6.1 | 2022年6月22日 |
#1980 in 嵌入式开发
每月 69 次下载
用于 drgdfu
44KB
1K SLoC
嵌入式设备固件更新
embedded-update
包实现了一个用于连接固件更新服务的嵌入式设备固件更新协议,该协议在 no_std
(裸机)环境中运行。
待更新的设备和更新服务都是可插拔的,因此该协议可以与任何实现提供的特质的设备和服务一起使用。这意味着您可以直接在嵌入式设备上使用该库,或者在代理多个设备的网关上使用。
该库提供了 InMemory
和 Serial
对 UpdateService
特质的引用实现,以及 Simulator
和 Serial
对 FirmwareDevice
特质的实现。
当类型和特质用于与设备闪存和网络连接交互更广泛可用时,可以向 embedded-update
添加更新服务和设备实现。
支持的更新服务
Serial
- 实现了一个适用于设备的串行更新协议,可以通过 UART、USB Serial 等。InMemory
- 实现了一个硬编码的更新服务,从内存中提供更新。
有关其他更新服务实现,请参阅 drogue-device。
支持的设备
Serial
- 实现了一个串行更新协议,允许通过 UART、USB Serial 等与实现此协议的设备通信。Simulated
- 实现了一个用于测试更新服务的模拟设备。
有关其他设备实现,请参阅 drogue-device。
最低支持的 Rust 版本 (MSRV)
当使用 nightly
标志时,embedded-update
需要使用 nightly
的两个功能来编译。
- async_fn_in_traits
- impl_trait_projections
依赖
~1–2MB
~42K SLoC