Symmetric Multiprocessing (SMP) with FreeRTOS and Raspberry Pi Pico
Recently, semiconductor companies have been producing microcontrollers with multiple compute cores. Although FreeRTOS has supported Asymmetric Multiprocessing for years, only recently has it started supporting Symmetric Multiprocessing (SMP). SMP support in the FreeRTOS Kernel enables one instance of the FreeRTOS kernel to schedule tasks across multiple identical processor cores, which can be helpful for embedded applications in areas like IoT. This session will showcase the FreeRTOS Raspberry Pi Pico port to demonstrate support for SMP in the FreeRTOS Kernel. The Raspberry Pi Pico board uses the RP2040 microcontroller from Raspberry Pi that features a Dual-core ARM Cortex M0+ processor. The session will cover the API calls provided by FreeRTOS and the Raspberry Pi C/C++ SDK, as well as important considerations regarding scheduler behavior.