Basically, when comparing a multi-core MCU
RP2040 (Dual ARM Cortex-M0+ @ 133MHz)
vs a single-core MCU
MKE14F256VLL16 (ARM® Cortex®-M4F Kinetis KE1xF IC 32-Bit Single-Core 168MHz)
with similar clock speeds, is there any reason to prefer the multi-core option?
AFAIK klipper doesn’t benefit from multiple cores, but I wanted to check.
Also, in general are all ARM Cortex MCUs compatible with klipper?
Hi @Mandias ,
Klipper doesn’t support the MKE14F256VLL16 because in make menuconfig
there’s no option for the MKE14F256VLL16 family of chips.
I can’t comment on single-core vs multi-core performance.
1 Like
I see, thank you for checking.
Are there likely to be any exceptions in the STM32 family (assuming RAM/memory requirements are met)?
Edit: I see after some searching that only some STM32 chips have existing configs and adding new variants is a tricky process.
Klipper host, mostly, does not utilize multiple cores, but that does not directly mean they are useless. Technically, different threads can do some job, despite the Python GIL.
But yes, the most CPU intensive work, AFAIK happen in main thread/reactor.
About MCU Cores, it is simple. It will use the first one. The only exception is PRU, where communication is driven from a different core.
Mostly, because it will complicate the code, and in the current architecture, provide mostly zero benefits.
2 Likes