For those interested in multitasking on the Raspberry Pi Pico I wrote a series of articles in which I describe several methods of running more than just one task on a Pico:
- With Raspberry Pi Pico’s SDK you can run one task on each core. Please see Raspberry Pi Pico: Multitasking on both cores
- Using FreeRTOS you can run several tasks on one core. Please see FreeRTOS on Raspberry Pi Pico
Asymmeric Multiprocessing (AMP) Methods:
- Or you can combine both solutions: One task is running on one core using Pico’s SDK and several other tasks running on the other core with the help of FreeRTOS. Please see SDK Multitasking AND FreeRTOS Tasks
- On my github site you can also find an inverted example: The SDK task is running on core0 and the FreeRTOS tasks run on core1.
- Currently there is a branch of the FreeRTOS kernel under development which will allow to run FreeRTSs on both cores (plesase see branch SMP (symmetric multiprocessing) on the FreeRTOS github site), but the comunity will need some time to solve some remaining problems.
All files can be downloaded from my github.