Expand description
no_std
HAL for the ESP32-H2 from Espressif.
This package has been deprecated in favour of esp-hal.
Please refer to the migration guide for help with updating your projects
to use the new esp-hal package:
https://github.com/esp-rs/esp-hal/releases/tag/v0.16.0
https://github.com/esp-rs/esp-hal/releases/tag/v0.16.0
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::Format
on certain typesdirect-vectoring
- Enable direct vector table hooking supporteh1
- Implement the traits defined in the1.0.0-xxx
pre-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 theSYSTIMER
peripheral. TheSYSTIMER
peripheral has three alarms available for useembassy-time-timg0
- Enable the embassy time driver using theTIMG0
peripheral. TheTIMG0
peripheral 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
(whereN
can be8
,16
,32
,64
or128
) - Use a generic timer queue of sizeN
for the executors’ timer queues. Using this feature can expand the number of executors you can use toN
interrupt-preemption
- Enable priority-based interrupt preemptionlog
- enable log output using thelog
cratert
- Runtime supportufmt
- Implement theufmt_write::uWrite
trait 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§
- aes
- Advanced Encryption Standard (AES) support.
- analog
- Analog peripherals
- assist_
debug - Debug Assistant
- clock
- Clock Control
- delay
- Delay driver
- dma
- Direct Memory Access Commons
- ecc
- ECC Accelerator
- efuse
- Reading of eFuses (ESP32-H2)
- esp_
riscv_ rt - Minimal startup / runtime for RISC-V CPUs from Espressif
- etm
- Event Task Matrix (ETM)
- gpio
- General Purpose I/Os
- hmac
- HMAC Accelerator
- i2c
- I2C Driver
- i2s
- I2S Master
- interrupt
- Interrupt support
- ledc
- LEDC (LED PWM Controller) peripheral control
- macros
- Overview
- mcpwm
- MCPWM (Motor Control Pulse Width Modulator) peripheral
- parl_io
- Parallel IO
- pcnt
- Pulse Counter peripheral driver
- peripheral
- Exclusive peripheral access
- peripherals
- Peripheral instance singletons (ESP32-H2)
- prelude
- The prelude
- reset
- Hardware and Software Reset
- rmt
- Remote Control Peripheral (RMT)
- rng
- Random Number Generator
- rom
- ESP ROM libraries
- rsa
- RSA Accelerator support.
- rtc_
cntl - RTC_CNTL (Real-Time Clock Control) and Low-power Management
- sha
- Secure Hash Algorithm peripheral driver
- spi
- Serial Peripheral Interface
- system
- System Control
- systimer
- System Timer peripheral driver
- timer
- General-purpose timers
- trace
- RISCV Trace Encoder (TRACE)
- trapframe
- State of the CPU saved when entering exception or interrupt
- uart
- UART driver
- usb_
serial_ jtag - USB Serial JTAG peripheral driver
Macros§
- dma_
buffers - Convenience macro to create DMA buffers and descriptors
- dma_
descriptors - Convenience macro to create DMA descriptors
Structs§
- Delay
- Delay driver
- Flash
Safe Dma - FlashSafeDma
- IO
- General Purpose Input/Output driver
- Rmt
- RMT Instance
- Rng
- Random number generator driver
- Rtc
- Low-power Management
- Rwdt
- RTC Watchdog Timer
- Timer
- General-purpose Timer driver
- Uart
- UART driver
- UartRx
- UART RX
- UartTx
- UART TX
- UsbSerial
Jtag - USB Serial JTAG driver
Enums§
- Cpu
- Available CPU cores
Functions§
- get_
core - Which core the application is currently executing on
Attribute Macros§
- entry
- Attribute to declare the entry point of the program