Crate esp32s3_hal
source ·Expand description
no_std
HAL for the ESP32-S3 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::Format
on certain typesdirect-boot
- Use the direct boot image formateh1
- 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-executor-interrupt
- Use the multicore-aware interrupt-mode embassy executorembassy-executor-thread
- Use the multicore-aware thread-mode embassy executorembassy-time-systick
- Enable the embassy time driver using theSYSTIMER
peripheralembassy-time-timg0
- Enable the embassy time driver using theTIMG0
peripherallog
- enable log output using thelog
crateopsram-2m
- Use externally connected Octal PSRAM (2MB)opsram-4m
- Use externally connected Octal PSRAM (4MB)opsram-8m
- Use externally connected Octal PSRAM (8MB)opsram-16m
- Use externally connected Octal PSRAM (16MB)psram-2m
- Use externally connected PSRAM (2MB)psram-4m
- Use externally connected PSRAM (4MB)psram-8m
- Use externally connected PSRAM (8MB)rt
- Runtime supportufmt
- Implement theufmt_write::uWrite
trait for the UART drivervectored
- Enable interrupt vectoring
Default Features
The rt
and vectored
features are enabled by default.
Supported Image Formats
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.
ESP-IDF Bootloader
Use the second-stage bootloader from ESP-IDF and its associated application image format. See the App Image Format documentation for more information about this format.
Direct Boot
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.
Modules
- Advanced Encryption Standard (AES) support.
- Analog peripherals
- Debug Assistant
- Clock Control
- Control CPU Cores (ESP32-S3)
- Delay driver
- Direct Memory Access Commons
- Reading of eFuses (ESP32-S3)
- 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
- USB OTG full-speed peripheral
- Pulse Counter peripheral driver
- Exclusive peripheral access
- Peripheral instance singletons (ESP32-S3)
- The prelude
- PSRAM “virtual peripheral” driver (ESP32-S2)
- 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
- Control the ULP core
- USB Serial JTAG peripheral driver
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
- Marks a function as the main function to be called on program start