Support for the RP2350 based Raspberry Pi Pico board. More...
Support for the RP2350 based Raspberry Pi Pico board.
The Raspberry Pi Pico 2 is a microcontroller board based on the RP2350 chip, featuring dual-core Arm Cortex-M0+ processors and RISC-V Hazard secondary architecture. It is designed for a wide range of applications, from hobbyist projects to professional embedded systems for a fairly affordable price.
MCU | RP2350 |
---|---|
Family | Dual Cortex-M33 or Hazard3 (RISC-V) |
Vendor | Raspberry Pi |
RAM | 520 kB on-chip SRAM (10 independent banks) |
Flash | Up to 16 MB external QSPI flash (Pico 2 has 4 MB by default) |
Frequency | up to 150 MHz (Set to 125 MHz in RIOT) |
Security | Boot signing, key storage, SHA-256 accelerator |
PIOs | 12 state machines |
UARTs | 2 |
SPIs | 2 |
I2Cs | 2 |
PWM | 24 channels |
USB | USB 1.1 controller with host and device support |
Power | On-chip switched-mode power supply with LDO sleep mode |
OTP | 8 kB of one-time-programmable storage |
Datasheet | RP2350 Datasheet |
Interface | Description |
---|---|
LED0 | User LED (GPIO 0 at Pin 25) |
SW0 | Button used in flash process, can be accessed using registers but difficult |
The Raspberry Pi Pico 2 has a built-in bootloader that allows flashing via USB. However, you can also use OpenOCD for flashing the board. If you are using picotool, you need to hold the bootselect button (the only button on the board) while connecting the board to your computer via USB. This will put the board into bootloader mode, allowing you to flash it.
If you have two Raspberry Pi Pico boards, you can utilize one as a programmer to program the other board.
Please refer to the Debugprobe documentation for more details.
Note that Raspberry Pi actually uses their own OpenOCD fork, which is available in the RP2040 OpenOCD repository. While technically you can use the standard OpenOCD, it is recommended to use the Raspberry Pi fork for better compatibility with the RP2350, as its still fairly "new" and under development, which is why even their own Pico SDK Extension uses the Raspberry Pi fork of OpenOCD, instead of the standard one.
To do this, you need to connect the board to your computer and use the following command:
You can then debug your application using GDB with the following command:
Simply connect the board to your computer via USB and use the following command:
This is the default method for flashing the Raspberry Pi Pico 2. However, it does not allow for debugging using GDB.
Currently RP2350 support is rather minimal, as such peripheral support is extremely limited. The following peripherals are supported:
More peripherals will be added in the future. It should also be noted that we currently only support the Cortex M33 cores, not the RISC-V Hazard cores.
Files | |
file | board.h |
Board specific definitions for the Raspberry Pi Pico 2. | |