Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

硬件概览

esp-rs 组织下的 crate 支持 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。

各款 SoC 既有独特的功能,也有一些共同的特性。请使用乐鑫产品选型工具,为你的项目选择合适的芯片。

乐鑫的产品采用两种不同的系统架构:

  • Xtensa:ESP32 和 ESP32-S 系列采用 Xtensa 架构。
  • RISC-V:ESP32-C 和 ESP32-H 系列采用 RISC-V 架构。

这里不展开介绍这两种架构的细节或差异。Rust 官方对两者的支持情况不同。Rust 尚未正式支持 Xtensa,原因是 Rust 使用 LLVM 作为编译器基础设施的一部分,而 LLVM 尚不支持 Xtensa。因此,我们维护了 LLVM 和 Rust 编译器的定制分支,加入了对 Xtensa 的支持,并积极推动这些修改合并到上游,以在未来获得官方支持。

Note

我们正在积极推动分支中的修改合并到上游。目前的进展如下:

  1. LLVM 分支:最近取得了显著进展。详情请参阅跟踪 issue。
  2. Rust 编译器分支:我们已提交所有可行的 Xtensa 补丁。后续进展取决于这些修改合并到 LLVM 上游的情况。

你可以参阅技术文档,了解不同 SoC 的更多信息。

Note

esp-hal 不支持 ESP8266。

不过,它支持 ESP32-C2(ESP8684)和 ESP32-C3(ESP8685)。其中,ESP32-C3 与 ESP8266 引脚兼容,可以作为合适的直接替代品。

了解乐鑫开发板

以 ESP32-C6-DevKitC-1 为例。这是一款基于 ESP32-C6 的开发板,包含以下组件:

ESP32-C6-DevKitC-1

  • ESP32-C6-WROOM-1 模块:
    • 支持 Wi-Fi、BLE 和 IEEE 802.15.4。
    • 8 MB SPI flash。
  • 可供使用的 GPIO 引脚。
  • 2 个按钮:Boot 和 Reset。
    • Boot 按钮:下载按钮。按住 Boot,再按下 Reset,即可进入固件下载模式,通过串口下载固件。
    • Reset 按钮:复位设备。
  • 2 个 USB-C 接口:
    • USB-C 转 UART 接口:用于给开发板供电、向芯片烧录应用程序,以及通过板载 USB 转 UART 桥接器与 ESP32-C6 芯片通信。
    • USB-C 接口:用于给开发板供电、向芯片烧录应用程序、通过 USB 协议与芯片通信,以及进行 JTAG 调试。
  • RGB LED:由 GPIO8 驱动的可寻址 RGB LED。
    • 注意,这不是普通的 RGB LED,而是 WS2812B LED。