* Software interrupt support added, not sure if the code is good * Added support for remaining SW interrupts * Added support for remaining SW interrupts * Added support for remaining SW interrupts * Added support for esp32c2, esp32s2, esp32s3 * Added support for esp32c2, esp32s2, esp32s3 * Added support for esp32c2, esp32s2, esp32s3 * Added support for esp32c2, esp32s2, esp32s3 * Software interrupt example for esp32c3 * Added support for esp32c2, esp32s2, esp32s3 * Software interrupt example for esp32c3 * prio based preemption only, vector table reverted * prio based preemption only, vector table reverted * fixed a rare bug causing misaligned memory accesses * fixed a rare bug causing misaligned memory accesses * fixed a rare bug causing misaligned memory accesses * fixed rare bug causing misaligned memory access when emulating atomics * fixed a rare bug causing misaligned memory accesses * fixed a rare bug causing misaligned memory accesses * broke something * broke something * fixed alignment bug * Tentative: added support for interrupt preemption without involving the rt * Added feature enabling priority based interrupt preemption * Fixed failed merge * Tagged preemption helpers with inline always * Disable interrupts before restoring context to avoid ruining it * Fix max priority edge case * Fix broken merge * Added examples for the remaining RISC-V ESPs * Update esp-hal-common/src/interrupt/riscv.rs Co-authored-by: sethp <seth.pellegrino@gmail.com> * Update esp32c2-hal/examples/interrupt_preemption.rs Co-authored-by: sethp <seth.pellegrino@gmail.com> * Update esp-hal-common/src/interrupt/riscv.rs Co-authored-by: sethp <seth.pellegrino@gmail.com> * Example comments courtesy of @sethp * Reverted irrelevant changes, raised high prio interrupt to max prio * Rolling back an irrelevant change * Rolling back an irrelevant change * Update esp-hal-common/src/interrupt/riscv.rs Co-authored-by: Scott Mabin <scott@mabez.dev> * Update esp-hal-common/src/interrupt/riscv.rs Co-authored-by: Scott Mabin <scott@mabez.dev> * Moved imports to avoid warnings, moved functions to ram, moved interrupt disable to before prio threshold is restored * Added preemption for the ESP32C6 * Moved helper functions into the relevant modules, changed threshold for ESP32C6 to machine mode one * ESP32C6 Threshold register changed to machine mode one, corrected threshold set. --------- Co-authored-by: sethp <seth.pellegrino@gmail.com> Co-authored-by: Scott Mabin <scott@mabez.dev> |
||
|---|---|---|
| .. | ||
| devices | ||
| ld | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
esp-hal-common
no_std HAL implementations for the peripherals which are common among Espressif devices. Implements a number of the traits defined by embedded-hal.
This crate should not be used directly; you should use one of the device-specific HAL crates instead:
Documentation
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.