An ESP32 (Xtensa) ELF Loader.
It allows you to load and execute ELF binaries from your Rust-based ESP-HAL
(no_std) firmware.
To compile compatible programs, build them as relocatable objects (-Wl,-r flag).
This can be done in the .cargo/config.toml file if using Rust or directly as a
flag in your C compiler.
(Special Thanks)
- ELF Loader IDF Component: This crate is based on the official ELF Loader library by Espressif.
- niicoooo's ELF Loader:
For reference on the relocations not in Espressif's loader (
R_XTENSA_32andR_XTENSA_SLOT0_OP) - Linux Kernel: For reference on relocations not in Espressif's loader