espressif / esp-iot-solution

Espressif IoT Library. IoT Device Drivers, Documentations and Solutions.
Apache License 2.0
1.97k stars 784 forks source link

[Feature request] elf-loader for RISC-V based ESP32 (like C6) (IDFGH-14086) (AEGHB-880) #428

Open martinssense opened 3 days ago

martinssense commented 3 days ago

Is your feature request related to a problem?

Dynamically loading code during runtime can be useful. There already is an elf-loader for Xtensa based ESP32, I cannot find a working solution for RISC-V based ESP32 (like C6 or H2) though.

Describe the solution you'd like.

A working elf-loader for RISC-V based ESP32 would be awesome. This way we could load "program modules" on RISC-V based ESP32 during runtime, without having to flash the firmware.

Describe alternatives you've considered.

Zephyr has something called LLEXT which is basically an elf-loader. Using Zephyr is not the same as having the luxury of FreeRTOS though - as I understand there are also limitations of using Zephyr on ESP32. There is also embedded wasm, but its overhead is huge, so it's not a viable solution for concurrent dynamically loaded code. There are always interpreters like MicroPython, but be real: it's not the same.

Additional context.

No response

igrr commented 1 day ago

Thanks for the request, I will transfer your issue to https://github.com/espressif/esp-iot-solution/ since the elf-loader component is developed there. AFAIK, support for RISC-V (e.g. ESP32-P4) is in progress.