esp-hal/esp32-hal
Scott Mabin 3444476eb2 ESP32 DRAM linker fix
The ROM code _data_ section is loaded into the middle of the DRAM
address space, unlike the other chips where it is loaded at the end.
Therefore subtracting the previously "reserved" section from heap end
could actually corrupt the ROM data section.

For the ESP32, the DRAM block has been split into two individual
segments, with some reserved segments in the middle (addresses taken
from esp-idf). At the moment we don't use the second segment at all in
esp-hal, but we could utilize it in esp-wifi for placing the internal
allocator for example.
2023-03-24 14:49:45 +00:00
..
.cargo Support ESP32-C2 with 26MHz Xtal 2022-12-13 05:15:10 -08:00
examples Fix embassy_spi example 2023-03-22 09:06:37 +01:00
ld ESP32 DRAM linker fix 2023-03-24 14:49:45 +00:00
src Reduce duplication, simplify re-exports, and general cleanup/organization (#424) 2023-03-08 06:35:59 -08:00
build.rs Reduce duplication, simplify re-exports, and general cleanup/organization (#424) 2023-03-08 06:35:59 -08:00
Cargo.toml Clean up cfg gating and prelude module (#442) 2023-03-20 11:22:55 +00:00
README.md docs: 📝 Add comma 2023-03-07 10:36:29 +01:00
rust-toolchain.toml Add a minimal HAL crate for the ESP32 with a serial example 2021-10-21 17:28:02 -07:00

esp32-hal

Crates.io docs.rs Crates.io Matrix

no_std HAL for the ESP32 from Espressif. Implements a number of the traits defined by embedded-hal.

This device uses the Xtensa ISA, which is not officially supported by the Rust compiler. In order to develop for this device, you must use the Rust compiler fork with Xtensa support found at esp-rs/rust. Refer to the Getting Started section below for more information.

Documentation

Getting Started

Installing the Rust Compiler

cargo install espup
espup install
# Unix
. $HOME/export-esp.sh
# Windows does not require sourcing any file

See the Installation chapter of The Rust on ESP Book for more details.

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.