#dfu #sans-io #no-std

no-std dfu-core

Sans IO 核心库(特性和工具)用于 DFU

8 个版本 (5 个重大变更)

0.6.0 2023 年 5 月 10 日
0.5.1 2023 年 3 月 4 日
0.5.0 2023 年 1 月 26 日
0.4.2 2022 年 7 月 31 日
0.0.0 2021 年 5 月 31 日

#373硬件支持

Download history 154/week @ 2024-03-14 65/week @ 2024-03-21 47/week @ 2024-03-28 55/week @ 2024-04-04 28/week @ 2024-04-11 39/week @ 2024-04-18 34/week @ 2024-04-25 12/week @ 2024-05-02 32/week @ 2024-05-09 138/week @ 2024-05-16 29/week @ 2024-05-23 86/week @ 2024-05-30 52/week @ 2024-06-06 82/week @ 2024-06-13 81/week @ 2024-06-20 754/week @ 2024-06-27

990 每月下载量
4 个 Crates 中使用 (2 个直接使用)

MIT/Apache

50KB
1K SLoC

Rust Latest Version License Docs.rs LOC Dependency Status

dfu-core

Sans IO 核心库(特性和工具)用于 DFU。

特性

  • no_std 兼容
  • 异步和同步兼容
  • 将固件写入设备(DFU 下载)
  • 从设备读取固件(DFU 上传)
  • 最小依赖
  • 使用状态机确保实现正确完成

特性和结构体

  • trait DfuIo:一个特例,可以创建一个对象,为该库逻辑提供 IO。
  • struct DfuSansIo:一个结构体,允许开发人员使用状态机(可以是异步或同步)进行 DFU 逻辑。
  • struct DfuSync:一个基本的同步实现,在运行时使用作为参数提供的 DfuIo
  • type MemoryPagetype mem:表示设备内存布局的原始类型(如 charstr)。
  • struct MemoryLayout:(需要功能 std)表示内存布局的分配表示(如 String),可以从字符串解析内存布局。
  • FunctionalDescriptor:可以读取 USB 功能描述符的额外字节,为 DFU 逻辑提供信息。

DFU 文档

本软件包基于以下规范开发

许可证

MIT 或 Apache-2.0

依赖

~0.5–1MB
~22K SLoC