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.
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.
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