Using Both Cores of Raspberry Pi Pico with C++OS
summary
C++OS now runs both cores of the RP2040 and uses C++20 coroutines plus custom executors and event-based queues to synchronize non‑SMP hardware. Implementation avoids the Pico SDK by generating headers from the SVD, uses spinlock atomics and the RP2040 CPU spinlocks and FIFO for intercore signaling, connects an ISR-to-decoder pipeline with a queue with 16 entries, decodes Opus on the second core (decoder runs on core 1), and falls back to UART fallback for audio input; the system works for demos but contains debugging bugs.
AI-written summary · about
chapters (5)
related talks
01h 26mRaspberry Pi Pico with C++OS: Coroutines and std::execution in Embedded Systems
30mPicoRuby as a Multi-VM Operating System
34mMicroPython on the RP2040
29mShield Your Devices: The Strength of Open-Source Software and Hardware
23m"Six Clock Cycle per Pixel - Graphics on the Neotron Pico"
39mA Slice of Zephyr Pi!
14mUse of RISC-V on Pixel Visual Core
39mA Slice of Zephyr Pi!
