“Four Cortex-M0 cores. One SoC. One very old FPS. How hard could it be.”
Status: design draft, parked (2026-04-22).
Umbrella: Coulomb (RK3588 stack) — adjacent, not a prerequisite.
RK3588 has (at least) four in-SoC Cortex-M0 cores:
Rules of the game:
| Core | SRAM | DDR access | Mailbox to AP | Background duties | Verdict |
|---|---|---|---|---|---|
| PMU0_MCU | 8 KB | none | indirect | sleep-state | pause button only |
| PMU1_MCU | 64 KB | narrow bridge | ✓ | PMIC / thermal / S2R | runner-up — jitter risk |
| DDR_MCU | 32 KB | direct (but owns it) | no | DDR training + DFS | disqualified — stutters on DFS |
| BUS_MCU | 32 KB | full AXI | ✓ | none | winner |
ddr_fb[idx]. Flip idx on mailbox doorbell. One MMIO per frame.memory-region in the DT with no-map, handed to the M0 via a known base address.echo c > /proc/sysrq-trigger mid-frag, keep playing. Novelty only.Parked. Pre-req to even starting: finish MegabitChip (DDR blob RE) and at least one clean boot on ampere with our own TPL. Then this becomes “write an M0 firmware and a small kernel driver”, which is a weekend.
Linked from start page.