This ESP32 hal crate provides support for the ESP32 peripherals
external_ram(enabled by default)
- Enables support for external ram (psram). However proper initialization of external ram relies on a customized bootloader
- Forces all code and data in RAM instead of flash. This allows usage with the ROM bootloader and eases debugging
- Enables support for dynamic memory allocations via a GlobalAllocator and/or AllocRef
- Include customized memcpy, memset, etc. which use word (4-byte) sized and aligned instructions to support IRAM usage and as optimization
Analog peripherals control.
Clock and RTC watchdog control.
Implementation of embedded hal delay traits using busy waiting
DPort peripheral configuration
Print debug information to UART0
GPIO and pin configuration
ESP32 specific interrupt handling
Custom versions of routines used by LLVM (like memcpy, memset, etc.)
UART peripheral control
SPI peripheral control
Units of measurement implementation for times and frequencies.
Macro for flushing the UART0 TX buffer
Macro for sending a formatted string to UART0 for debugging
Macro for sending a formatted string to UART0 for debugging, with a newline.
The esp32 has a first stage bootloader that handles loading program data into the right place therefore we skip loading it again.