4 ms·
For a hobbyist embedded developer like me, the adoption of RISC-V in the ESP series is big news. In day-to-day development, instruction sets are often abstracte
by tl2do 7mo ago
For a hobbyist embedded developer like me, the adoption of RISC-V in the ESP series is big news. In day-to-day development, instruction sets are often abstracted away by the compiler, but I appreciate open specifications and architectures. This makes me particularly interested in how an emulator like Emuko could facilitate evaluating code without the slow process of repeatedly burning it to ROM. I'm keen to see reports of its application in actual ESP32 development.
- general1465 7mo agoOr you can write code which can directly run on x86, i.e. FreeRTOS does support that without issues. For peripherals drivers you will need to burn it on chip regardless because emulator rarely can emulate peripherals in some reasonable way. So if you correctly abstract business logic from peripheral code, you can do most of your development without ever uploading to target.
- tl2do 7mo agoThat's a solid approach, and for high-level logic, it's definitely the way to go. I find that a lot of my development time is actually spent on lower-level tasks—like writing custom string operations—since we don't have the rich standard libraries of a host environment. This is exactly where an emulator really shines for me. It enables a "device-less" workflow where I can work through those low-level details on a sofa at a cafe without needing to bring the physical hardware along just to verify the behavior.
- skelpmargyar 7mo agoRISC-V is supported on QEMU. The available devices don't have a ton of peripherals compared to aarch64, but it exists. Even FreeRTOS has a QEMU virt port for RISC-V. And if you have unit tests QEMU could easily run those accurately.