This project uses arduino-pico core for debugging RP2040-based Arduino Pico programs with local modifications.
- Arduino Pico core
- PlatformIO
- CMSIS-DAP compatible debug probe
- Clone those repositories:
git clone https://github.com/schkovich/arduino-pico.git
cd arduino-pico
git checkout execute_sync_2433
git submodule update --init
cd ..
git clone [email protected]:schkovich/pico-sdk-tests.git
cd pico-sdk-tests
├── arduino-pico # Forked arduino-pico core
├── pico-sdk-tests
│ ├── lib
│ ├── .pio # PlatformIO build directory
│ ├── scripts # Debug scripts
│ └── src
The arduino-pico core is configured in platformio.ini via platform_package option, pointing to the local folder and “Symbolic Link” feature:
[env:debug]
board = nanorp2040connect
framework = arduino
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board_build.core = earlephilhower
platform_packages =
framework-arduinopico@symlink://../arduino-pico
The pico-sdk build process:
- Compiles core SDK libraries
- Generates boot stage 2 code for different flash chips
- Produces required build artifacts for both RP2040 and RP2350
For detailed build steps, see make-libpico.sh in the arduino-pico core.
- Pico SDK and async_context are pre-built statically linked to the project
- The project is built using PlatformIO
- Debug using CMSIS-DAP probe