I have experience with esp32 and variants and stm32 but im new to the milk v duo. Just bought a Milk V duo 64 MB and was wondering if the Higher performance 1 Ghz core can be used to run Arduino code rather than the 700 MHz core. And is it possible to use both for arduino/rtos.
To be honest i didn’t buy it because it runs “Linux” but because it is by far the fastest Arduino compatible microcontroller/soc which has risc v cores . The fastest stm32 ive seen was at 500 MHz which is much more expensive than this board.
Anyway just wanna know if it can be configured to use the 1 GHz or 700 MHz core and if possible to use both for Arduino/rtos/BareMetal.
The Arduino performance may not be what you are hoping for, due to the architecture of the Milk V. Even if you could run it on the slightly faster 1GHz core (which doesn’t seem to be easily possible at the moment).
An STM32 would generally be more deterministic and possibly also faster (at least at startup) because its code isn’t running from DRAM or from the SD-card. Instead, it uses built-in flash / sram which is much faster. This can be partially mitigated by using cache (as you can read in the above links), at the cost of determinism. So, while code running on your average STM32 would run very consistently, so consistently that you could implement something like VGA-output (requiring precise timing) through careful assembly coding, this would be much harder or impossible on something like the Milk V Duo because of the higher latency memory access and cache. So doing anything real-time probably wouldn’t be an ideal fit for the MilkV.
On the other hand, running Linux is a way better fit for the MilkV, as deterministic timing is a lot less important for that. There’s still an open question of the slow Arduino performance of the MilkV. It may be partially solved by enabling cache on that core (again, as described in the links) but it seems like perhaps it’s not the only problem. Perhaps someone from MilkV can comment on that.
linux is more demanding than rtos. While Stm32/Esp32 has SRAM they have alot less ram to work with. Esp32 on its best side only has 8 MB psram. More dram is better especially when it comes to graphics or data processing. Plus this cost alot less than a 500 Mhz stm32 dev board and i already bought it lol.
I mean I wanted to work with Risc V cores. Though i could go esp32 c3, milk v has much more useful features. As for performance issues its most likely a optimization problem