esp-hal/esp32c3-hal
Scott Mabin 1d02bf87c3
RISCV vectored interrupts (#118)
* RISCV interrupt vectoring

- Adds support for vectoring peripheral interrupts to PAC handlers
- Currently supports level interrupts with priorities from 1-15
- Updated the gpio interrupt example to reflect the new changes

* remove .vscode files

* Support vectored edge interrupts

This is as simple as making sure we clear the CPU interrupt whenever we
receive one. This also documents further what APIs are safe to call when
the `vectored` feature is enabled.

* fix all examples to use vectoring

* doc & cleanup

* run handlers from ram

* make xtensa::interrupt::vectored private, we rexport public items

* fix default handlers

* pass interrupt into EspDefaultHandler
2022-07-26 09:24:47 -07:00
..
2022-04-05 15:11:37 +02:00
2022-07-26 09:24:47 -07:00
2022-07-26 09:24:47 -07:00
2022-07-26 09:24:47 -07:00
2022-07-26 09:24:47 -07:00
2022-01-12 13:52:01 -08:00

esp32c3-hal

Crates.io docs.rs Crates.io Matrix

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

This device uses the RISC-V ISA, which is officially supported by the Rust compiler via the riscv32imc-unknown-none-elf target. Refer to the Getting Stared section below for more information.

Documentation

Getting Started

Installing the Rust Compiler Target

The compilation target for this device is officially supported via the stable release channel and can be installed via rustup:

$ rustup target add riscv32imc-unknown-none-elf

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.