How paulneja/linux-esp32s3 works
This repository is a Linux kernel fork for ESP32-S3 boards. The documented runtime centers on Linux executing on core 1 while ESP-IDF on core 0 provides WiFi, BLE, and flash services; platform drivers and IPC support that split. Other major capabilities include hardware RSA, a BLE setup device, and NOMMU fork with cache-MMU-assisted memory swapping. The supplied tree and excerpts do not include ESP32-S3 implementation files, so those components have null paths and the documented relationships cite only the README.
Components 17
Platform support
- Platform drivers
- Interrupt matrix
- GPIO
- SPI and clocks
- TRNG
- Flash driver
- Cache MMU
Connectivity and IPC
- Core IPC
- ESP-IDF firmware
- esp32-ng WiFi/BLE
- BLE setup device
Kernel runtime
- Linux kernel
- NOMMU fork
- Memory swapping
- User program
Hardware acceleration
- RSA accelerator
Other components
- ESP32-S3 boards
Connections 15
- ESP32-S3 boards → Linux kernel: runs on core 1
README - ESP32-S3 boards → ESP-IDF firmware: runs on core 0
README - ESP-IDF firmware → esp32-ng WiFi/BLE: provides connectivity
README - ESP-IDF firmware → Flash driver: handles flash
README - Platform drivers → Interrupt matrix: supports interrupts
README - Platform drivers → GPIO: provides GPIO
README - Platform drivers → SPI and clocks: provides interfaces
README - Platform drivers → Core IPC: provides IPC
README - Platform drivers → TRNG: provides entropy
README - Linux kernel → esp32-ng WiFi/BLE: uses driver
README - Linux kernel → RSA accelerator: uses accelerator
README - Linux kernel → BLE setup device: exposes device
README - User program → NOMMU fork: requests fork
README - NOMMU fork → Memory swapping: swaps private memory
README - Memory swapping → Cache MMU: exchanges chunk mappings
README