niceskylei / espflash

Serial flasher utility for Espressif SoCs and modules based on esptool.py

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

espflash

Actions Status Crates.io

Serial flasher utility for Espressif SoCs and modules based on esptool.py.

Currently supports the ESP32, ESP32-C3, ESP32-S2, ESP32-S3, and ESP8266.

This repository contains two applications:

Application Description
cargo-espflash Cargo subcommand for espflash
espflash Library and espflash binary (without Cargo integration)

NOTE: requires rustc >= 1.56.0 in order to build either application

Installation

$ cargo install cargo-espflash
$ cargo install espflash

cargo-espflash

cargo-espflash is a subcommand for Cargo which utilizes the espflash library. This tool integrates with your Cargo projects and handles compilation, flashing, and monitoring for target devices.

Please see the cargo-espflash README for more information.

Example

$ cargo espflash --release --example=blinky /dev/ttyUSB0

espflash

espflash is a standalone binary and library contained within the same crate. This tool does not integrate with Cargo, but supports all of the same features as cargo-espflash which are not related to compilation.

Please see the espflash README for more information.

Example

$ espflash /dev/ttyUSB0 target/xtensa-esp32-none-elf/release/examples/blinky

Notes on Building

In order to build from source, in addition to the Rust toolchain libuv must be present on your system. This can be installed via most popular package managers.

macOS

$ brew install libuv

Ubuntu

$ sudo apt-get install libuv-dev

Fedora

$ dnf install systemd-devel

Quickstart - Docker

The esprs/espflash Docker image contains all necessary toolchains and tooling (including espflash) to build an application and flash it to a target device.

To clone, build and flash the esp32-hal examples run the following:

$ git clone https://github.com/esp-rs/esp32-hal
$ cd esp32-hal
$ docker run -v "$(pwd):/espflash" --device=/dev/ttyUSB0 -ti esprs/espflash --release --example=blinky /dev/ttyUSB0

Custom Docker Build

$ git clone --depth 1 https://github.com/esp-rs/espflash.git
$ cd espflash
$ docker build -t esprs/espflash .

License

Licensed under the GNU General Public License Version 2. See LICENSE for more details.

About

Serial flasher utility for Espressif SoCs and modules based on esptool.py


Languages

Language:Rust 98.5%Language:Dockerfile 1.5%