This is about shutiting down some cores to save power. Consider a 4-core SMP, if I turn off others cores and only one core is left running in power-save mode. I expect FreeRTOS to stop dispatching jobs to other cores and running only on core 0. If the task is already ruuning in core 1, FreeRTOS should move the task to core 0. Additionally, the kernel dispatch tasks to core 0 and 2, while core 1 and 3 are off. Does FreeRTOS support this function? If not, how can I implement it on the applications?
It is not supported ad the number of cores is currently set at compile time.
You’ll need to implement this functionality in the kernel if you want to use SMP.
You can also consider using AMP instead - have a separate FreeRTOS instance on each core and use tickless idle to put each core to low power mode independently of the other cores.
Thanks for your prompt reply. I understand this is not supported and needs to be implemented in the kernel if I want to use SMP power down mode.