>>106324503
I had no issues so far on Linux, everything just works and documentation(on the no_std variant) is good. After all, Rust has first party support on these chips. My friend had some issues setting up drivers for USB-JTAG on windows though. You might need to downgrade your USB driver.
I just suggest to not even bother with the esp-idf and rtos version, just go bare metal. The abstractions esp-hal provides are arguably more useful and it's focus on DMA is nice. Your binaries will be order of magnitude smaller and you will be able to dive into any abstractions down to registers using your IDE.
>>106324559
Ah makes sense.
>that looks pretty neat, which CPU is that?
Xtensa LX7. It's ESP32-S3
>are those two separate executables?
No. Esp32 gets booted with the main CPU running and other core stopped/reset.
After I initialize serial output and basic stuff, I launch second core by passing a lambda to esp_hal's start_app_core, which sets the appropriate boot address register(IIRC) and launches the second core. On that core I just spawn another executor and spawn whatever tasks I need. There is no task stealing though, all tasks are pinned to specific executor on one of the cores, but they can wake each other cross cores.
Here is the CPU with low load. You can see how does the draw task begins instantly the moment display tasks releases one of the frame buffers through async channel. And when there is nothing to do, the CPU is going into low power mode while waiting for the SPI interrupts or timers to resume operation.