no_std HAL for the ESP32-C3/ESP8685 from Espressif.
Implements a number of the traits defined by the various packages in the embedded-hal repository.
async- Enable support for asynchronous operation, with interfaces provided by embedded-hal-async and embedded-io-async
debug- Enable debug features in the HAL (used for development)
defmt::Formaton certain types
direct-boot- Use the direct boot image format
direct-vectoring- Enable direct vector table hooking support
eh1- Implement the traits defined in the
1.0.0-xxxpre-releases of embedded-hal, embedded-hal-nb, and embedded-io
embassy- Enable support for embassy, a modern asynchronous embedded framework
embassy-time-systick- Enable the embassy time driver using the
embassy-time-timg0- Enable the embassy time driver using the
interrupt-preemption- Enable priority-based interrupt preemption
log- enable log output using the
mcu-boot- Use the MCUboot image format
rt- Runtime support
ufmt- Implement the
ufmt_write::uWritetrait for the UART and USB Serial JTAG drivers
vectored- Enable interrupt vectoring
vectored features are enabled by default.
This HAL supports building multiple different application image formats. You can read about each below.
The ESP-IDF Bootloader format is used unless some other format is specified via its feature.
This device additionally supports direct-boot, which allows an application to be executed directly from flash, without using the second-stage bootloader. For more information please see the esp32c3-direct-boot-example in the Espressif organization on GitHub.
Use the MCUBoot bootloader and its associated image format. See the MCUBoot design document for more information about this format.
- Advanced Encryption Standard (AES) support.
- Common module for analog functions
- Debug Assistant
- Clock Control
- Delay driver
- Direct Memory Access Commons
- Reading of eFuses (ESP32-C3)
- Minimal startup / runtime for RISC-V CPUs from Espressif
- General Purpose I/Os
- HMAC Accelerator
- I2C Driver
- I2S Master
- Interrupt support
- LEDC (LED PWM Controller) peripheral control
- Procedural macros
- Exclusive peripheral access
- Peripheral instance singletons (ESP32-C3)
- The prelude
- Wireless communication peripheral implementations
- Hardware and Software Reset
- Remote Control Peripheral (RMT)
- Random Number Generator
- ESP ROM libraries
- RSA Accelerator support.
- RTC_CNTL (Real-Time Clock Control) and Low-power Management
- Secure Hash Algorithm peripheral driver
- Serial Peripheral Interface
- System Control
- System Timer peripheral driver
- General-purpose timers
- State of the CPU saved when entering exception or interrupt
- Two-wire Automotive Interface (TWAI)
- UART driver
- USB Serial JTAG peripheral driver
- Delay driver
- General Purpose Input/Output driver
- RMT Instance
- Random number generator driver
- Low-power Management
- RTC Watchdog Timer
- SPI peripheral driver
- General-purpose Timer driver
- UART driver
- USB Serial JTAG driver
- Available CPU cores
- Which core the application is currently executing on
- Attribute to declare the entry point of the program