Crate esp32h2_hal
source ·Expand description
no_std HAL for the ESP32-H2 from Espressif.
Implements a number of the traits defined by the various packages in the embedded-hal repository.
Cargo Features
async- Enable support for asynchronous operation, with interfaces provided by embedded-hal-async and embedded-io-asyncdebug- Enable debug features in the HAL (used for development)defmt- Enabledefmt::Formaton certain typesdirect-vectoring- Enable direct vector table hooking supporteh1- Implement the traits defined in the1.0.0-xxxpre-releases of embedded-hal, embedded-hal-nb, and embedded-ioembassy- Enable support for embassy, a modern asynchronous embedded framework. One ofembassy-time-*features must also be enabled when using this feature.embassy-time-systick- Enable the embassy time driver using theSYSTIMERperipheral. TheSYSTIMERperipheral has three alarms available for useembassy-time-timg0- Enable the embassy time driver using theTIMG0peripheral. TheTIMG0peripheral has a single alarm available for useembassy-integrated-timers- Uses hardware timers as alarms for the executors. Using this feature limits the number of executors to the number of hardware alarms provided by the time driverembassy-generic-queue-N(whereNcan be8,16,32,64or128) - Use a generic timer queue of sizeNfor the executors’ timer queues. Using this feature can expand the number of executors you can use toNinterrupt-preemption- Enable priority-based interrupt preemptionlog- enable log output using thelogcratert- Runtime supportufmt- Implement theufmt_write::uWritetrait for the UART and USB Serial JTAG driversvectored- Enable interrupt vectoringflip-link- move the stack to the start of RAM to get zero-cost stack overflow protection
Default Features
The rt, vectored and embassy-integrated-timers features are enabled by
default.
Modules
- Advanced Encryption Standard (AES) support.
- Analog peripherals
- Debug Assistant
- Clock Control
- Delay driver
- Direct Memory Access Commons
- ECC Accelerator
- Reading of eFuses (ESP32-H2)
- Minimal startup / runtime for RISC-V CPUs from Espressif
- Event Task Matrix (ETM)
- General Purpose I/Os
- HMAC Accelerator
- I2C Driver
- I2S Master
- Interrupt support
- LEDC (LED PWM Controller) peripheral control
- Overview
- MCPWM (Motor Control Pulse Width Modulator) peripheral
- Parallel IO
- Pulse Counter peripheral driver
- Exclusive peripheral access
- Peripheral instance singletons (ESP32-H2)
- The prelude
- 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
- RISCV Trace Encoder (TRACE)
- State of the CPU saved when entering exception or interrupt
- UART driver
- USB Serial JTAG peripheral driver
Macros
- Convenience macro to create DMA buffers and descriptors
- Convenience macro to create DMA descriptors
Structs
- Delay driver
- FlashSafeDma
- General Purpose Input/Output driver
- RMT Instance
- Random number generator driver
- Low-power Management
- RTC Watchdog Timer
- General-purpose Timer driver
- UART driver
- UART RX
- UART TX
- USB Serial JTAG driver
Enums
- Available CPU cores
Functions
- Which core the application is currently executing on
Attribute Macros
- Attribute to declare the entry point of the program