espflash

espflash 是一个基于 esptool.py 的乐鑫 SoC 和模块的串口下载工具。

espflash 仓库包含两个 crate,cargo-espflashespflash。有关这些 crate 的更多信息,请参见下面的各自部分。

⚠️ 注意: 下面显示的 espflashcargo-espflash 命令,假定使用 2.0 或更高版本。

cargo-espflash

cargo 提供一个子命令,处理交叉编译和下载。

要安装 cargo-espflash,请确保你已经安装了必需的依赖项,然后执行以下命令:

cargo install cargo-espflash

此命令必须在 Cargo 项目中运行,即包含 Cargo.toml 文件的目录。例如,要构建名为 “blinky” 的示例,将生成的二进制文件下载到设备中,然后启动串行监视器:

cargo espflash flash --example=blinky --monitor

有关更多信息,请参见 cargo-espflash README。

espflash

提供一个独立的命令行应用程序,将 ELF 文件下载到设备中。

要安装 espflash,请确保你已经安装了必需的依赖项,然后执行以下命令:

cargo install espflash

假设你已经通过其他方式构建了 ELF 二进制文件,espflash 可以用于将其下载到设备并监视串行端口。例如,如果你已经使用 idf.pyESP-IDF 构建了名为 “getting-started/blinky” 的示例,可以运行类似以下的命令:

espflash flash build/blinky --monitor

有关更多信息,请参见 espflash README

espflash 可以通过在你的项目的 .cargo/config.toml 文件中添加以下内容,作为 Cargo runner 来使用:

[target.'cfg(any(target_arch = "riscv32", target_arch = "xtensa"))']
runner = "espflash flash --monitor"

使用此配置,可以通过 cargo run 下载和监控应用程序。