Raspberry Pi Pico SDK vs RISC-V GNU Toolchain
Raspberry Pi Pico SDK
github.comRISC-V GNU Toolchain
github.comSide by side
| Figure | Raspberry Pi Pico SDK | RISC-V GNU Toolchain |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Embedded Systems Toolchains | 7.6 (#19) | 8.0 (#12) |
| Headquarters | Cambridge, United Kingdom | Switzerland |
| License | The pico-sdk repository identifies its license as BSD-3-Clause. | The repository has a LICENSE file containing licensing terms for the project and its included components. |
| Purpose | The SDK provides the headers, libraries, and build system for writing C, C++, or assembly programs for RP-series microcontroller devices. | The project provides a RISC-V C and C++ cross-compiler that can build bare-metal ELF or Linux ELF toolchains. |
Plans
In their own words
Raspberry Pi Pico SDK
Raspberry Pi Pico SDK is a free, BSD-3-Clause software development kit for writing C, C++, or assembly programs for RP-series microcontrollers. It supplies headers, hardware APIs, libraries, and a CMake build system, including access to Programmable I/O. Higher-level libraries cover timers, synchronization, Wi-Fi and Bluetooth networking, USB, and multicore programming. The SDK targets RP2040 Arm Cortex-M0+ and RP2350 Arm Cortex-M33 and Hazard3 RISC-V devices. It can support simple applications, MicroPython runtime environments, and low-level software such as an on-chip bootrom. Quick-start instructions use CMake, Python 3, a native compiler, and a GCC cross compiler. Work is possible from the command line, Visual Studio Code, or CLion. Raspberry Pi’s VS Code extension adds project generation, CMake setup, version switching, compilation, and debugging. It supports Windows, macOS, and Linux, with documentation for SDK APIs and Pico W connectivity.
RISC-V GNU Toolchain
RISC-V GNU Toolchain is a C and C++ cross-compiler for building bare-metal ELF or Linux ELF toolchains. It supports RV32 and RV64 targets, with RV64GC as the default, and lets builders select architecture extensions and ABIs. Bare-metal configurations can use Newlib or Picolibc; Linux configurations can use glibc, musl, or uClibc. Multilib builds can target 32-bit and 64-bit systems for Newlib and Linux/glibc toolchains. The toolchain includes GCC, binutils, GDB, and supported libraries. LLVM can be built alongside it using a configure option, though that option cannot be combined with multilib settings. The project documents testing with DejaGNU and make check targets, plus QEMU, GDB, and experimental Spike simulator options whose availability varies by toolchain. Hosts include Linux and macOS; Windows use is through a Linux subsystem or Cygwin. A build needs about 8 GiB of disk space, and cloning takes around 6.65 GB. It is free and open-source, with development material aimed at developers and advanced users.