#esp8266 #xtensa #embedded-hal #no-std

no-std d1-mini

为WEMOS/LOLIN D1 mini提供类型安全API的板级支持包(BSP)

2个不稳定版本

0.2.0 2020年9月23日
0.1.0 2020年8月23日

2065嵌入式开发

每月 下载 23

MIT/Apache

13KB
75

d1-mini

Crates.io Docs License

WEMOS/LOLIN D1 mini提供类型安全API的板级支持包(BSP)。

文档

资源

入门指南

注意: 此crate的依赖项仍处于早期开发阶段,各种功能可能不完整或根本不存在。作为1.0版之前的软件,公共API可能会随时更改。

先决条件

由于Xtensa目标是官方不支持的,您必须构建Rust的自定义版本。有关此过程的更多信息,请参阅rust-xtensa项目的README,其中包含针对大多数流行操作系统的详细说明。

目前有三种可行的交叉编译选项

从上述列表中选择(或选择多个),并确保它们已安装。

构建示例

要构建示例,您需要Xtensa工具链。您可以从Espressif下载预构建的二进制文件,或使用esp-open-sdk自行构建。在两种情况下,请确保生成的二进制文件位于您的$PATH中。

然后您可以一次性构建所有示例,也可以逐个构建

$ xargo build --release --examples
$ xargo build --release --example=blinky

烧录设备

espflash

espflash是一个由社区开发的工具(完全用Rust编写),用于烧录基于ESP32和ESP8266的设备。它提供用于烧录上述设备的CLI工具以及一个额外的crate,cargo-espflash,它提供了一个cargo子命令,可以通过一个命令编译和烧录您的设备。

有关这些工具的更多信息,请参阅它们的相应README

示例

在运行以下任一命令之前,请确保将<PORT>替换为适当的值。

使用 espflash

$ espflash <PORT> target/xtensa-esp8266-none/release/examples/blinky

使用 cargo-espflash

$ cargo espflash --release --example=blinky --chip=esp8266 --tool=xargo <PORT>

esptool

您可以使用Espressif的官方工具 esptool.py,将固件烧写到您的设备中。请确保该工具已经安装,并且 esptool.py 已添加到您的 $PATH 环境变量中。

首先将ELF格式的二进制文件转换为可烧写的镜像

$ esptool.py \
>   --chip esp8266 \
>   elf2image \
>   target/xtensa-esp8266-none/release/examples/blinky

然后您就可以将镜像烧写到设备中;在运行命令之前,请确保将 <PORT> 替换为适当的值

$ esptool.py \
>   --port <PORT> \
>   write_flash \
>   -fm dio \
>   -fs 32m \
>   0x00000 \
>   target/xtensa-esp8266-none/release/examples/blinky-0x00000.bin

许可证

许可证为以下之一

由您选择。

贡献

除非您明确声明,否则您提交给作品以包含在内的任何贡献,如Apache-2.0许可证中定义的,应按上述方式双许可,不附加任何额外条款或条件。

依赖

~4MB
~106K SLoC