Template generation tool to create no_std
applications targeting Espressif's line of SoCs and modules.
At present, this template supports the ESP32, ESP32-C2/C3/C6, ESP32-H2, and ESP32-S2/S3. Support for additional devices will be added as they become available.
To generate a project using this template:
esp-generate
:cargo install esp-generate --locked
You can also directly download pre-compiled release binaries or use cargo-binstall
.
Generate a project. There are two options:
Using the Terminal User Interface (TUI):
You will be prompted to select a target chip and name for your project, after which you would use TUI to select the other options you need for your project.
Using the Command Line Interface (CLI), adding the options to the esp-generate
command:
esp-generate --chip esp32 -o alloc -o wifi your-project
Use the --headless
flag to avoid using the TUI.
Replace the chip and project name accordingly, and select the desired options using the -o/--option
flag. For a full list of available options, see Available Options section of this README.
unstable-hal
: Enables esp-hal features that may not be ready for general use yet.alloc
: Enables allocations via the esp-alloc
crate.wifi
: Enables Wi-Fi via the esp-wifi
crate; requires alloc
.ble-bleps
: Enables BLE via the esp-wifi
crate using bleps
; requires alloc
, mutually exclusive with ble-trouble
.ble-trouble
: Enables BLE via the esp-wifi
crate using embassy-trouble
; requires alloc
, mutually exclusive with ble-bleps
.embassy
: Adds embassy
framework support.stack-smashing-protection
: Enables stack smashing protection. Requires nightly Rust.probe-rs
: Replaces espflash
with probe-rs
and enables RTT-based options.flashing-probe-rs
: Contains options that require probe-rs
:
defmt
: Adds support for defmt
printing. Uses rtt-target
as the RTT implementation.panic-rtt-target
: Uses panic-rtt-target
as the panic handler.embedded-test
: Enables embedded-test
support and generates a simple demo test case.flashing-espflash
: Contains options that require espflash
:
log
: Uses the log
library to print messages.defmt
: Adds support for defmt
printing. Uses esp-println
and configures espflash
to decode defmt
logs.esp-backtrace
: Uses esp-backtrace
as the panic handler.optional
: Enables the following set of options:
wokwi
: Adds support for Wokwi simulation using VS Code Wokwi extension.dev-container
: Adds support for VS Code Dev Containers and GitHub Codespaces.ci
Adds GitHub Actions support with some basics checks.editors
: Select the editor integrations:
helix
: The Helix editorvscode
: Visual Studio Codezed
: The Zed editorLicensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4