no_std Hardware Abstraction Layers for ESP32 microcontrollers
Go to file
Björn Quentin 520f8d6f41
Update esp32s2-hal/ld/link-esp32s2.x
Co-authored-by: Gustavo Henrique Nihei <38959758+gustavonihei@users.noreply.github.com>
2022-08-22 15:25:09 +02:00
.github/workflows Add jobs to the CI workflow to verify the MSRV 2022-08-03 17:12:18 +02:00
esp32-hal esp32[c3|s2|s3]-hal: Add example for monitoring the XTAL frequency 2022-08-19 21:55:54 +02:00
esp32c3-hal esp32[c3|s2|s3]-hal: Add example for monitoring the XTAL frequency 2022-08-19 21:55:54 +02:00
esp32s2-hal Update esp32s2-hal/ld/link-esp32s2.x 2022-08-22 15:25:09 +02:00
esp32s3-hal esp32[c3|s2|s3]-hal: Add example for monitoring the XTAL frequency 2022-08-19 21:55:54 +02:00
esp-hal-common rtc: Add support for monitoring of XTAL clock 2022-08-19 21:55:54 +02:00
esp-hal-procmacros procmacros: Replace then_some 2022-08-03 16:59:23 +02:00
.gitignore Separate TIMG into timer0, (timer1), wdt (#104) 2022-07-20 06:51:39 -07:00
LICENSE-APACHE Initial commit 2021-10-19 15:00:41 -07:00
LICENSE-MIT Initial commit 2021-10-19 15:00:41 -07:00
README.md Update MSRV versions in README to their actual values 2022-04-05 08:16:48 -07:00
rustfmt.toml Begin adding some doc comments, update rustfmt config 2022-01-10 15:23:01 -08:00

esp-hal

GitHub Workflow Status MIT/Apache-2.0 licensed Matrix

Hardware Abstraction Layer crates for the ESP32, ESP32-C3, ESP32-S2, and ESP32-S3 from Espressif.

This project is still in the early stages of development, and as such there should be no expectation of API stability. Only a small number of peripherals currently have drivers implemented (you can see a full list here) and out of those most are still incomplete, albeit functional. These HALs are no_std; if you are looking for std support please use esp-idf-hal instead.

If you have any questions, comments, or concerns please join us on Matrix. For additional information regarding any of the crates in the monorepo, please refer to the crate's README.

Crate Target Technical Reference Manual
esp32-hal xtensa-esp32-none-elf ESP32
esp32c3-hal riscv32imc-unknown-none-elf
riscv32imac-unknown-none-elf*
ESP32-C3
esp32s2-hal xtensa-esp32s2-none-elf ESP32-S2
esp32s3-hal xtensa-esp32s3-none-elf ESP32-S3

* via atomic emulation

MSRV

The Minimum Supported Rust Versions are:

  • 1.59.0 for RISC-V devices (ESP32-C3)
  • 1.59.0 for Xtensa devices (ESP32, ESP32-S2, ESP32-S3)

Note that targeting the Xtensa ISA requires the use of the esp-rs/rust compiler fork, whereas RISC-V is officially supported by the official Rust compiler.

License

Licensed under either of:

at your option.

Contribution

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.