It looks to me that the Raspberry Pi Pico sdk stuff hasn’t been fully ported to the Arduino software environment.
The Seeed stuff was apparently copied from the Raspberry Pi Pico distribution, and I would be shocked (shocked, I say) if they added anything.
The thing is that pico/stdlib.h is there for the XIAO RP2040 package (as well as for the Pico package), but it includes a couple of files that are missing, namely pico/stdio.h and pico/time.h
Here are error outputs from a Raspberry Pi Pico Arduino project that includes pico/stdlib.h and error output from an XIAO RP2040 project that includes pico.stdlib.h
Pico:
Arduino: 1.8.16 (Windows 10), Board: "Raspberry Pi Pico"
In file included from C:\Users\davee\Sketchbook\RpiTest\RpiTest.ino:1:0:
C:\Users\davee\AppData\Local\Arduino15\packages\arduino\hardware\mbed_rp2040\3.0.1\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_stdlib/include/pico/stdlib.h:11:10: fatal error: pico/stdio.h: No such file or directory
#include "pico/stdio.h"
^~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board Raspberry Pi Pico.
XIAO RP2040
Arduino: 1.8.16 (Windows 10), Board: "SEEED XIAO RP2040"
In file included from C:\Users\davee\Sketchbook\RpiTest\RpiTest.ino:1:0:
C:\Users\davee\AppData\Local\Arduino15\packages\Seeeduino\hardware\rp2040\2.7.2\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_stdlib/include/pico/stdlib.h:11:10: fatal error: pico/stdio.h: No such file or directory
#include "pico/stdio.h"
^~~~~~~~~~~~~~
compilation terminated.
exit status 1
Bottom line: SDK stuff for Arduino is a “work-in-progress,” and I don’t know if/when to expect progress.
FWIW: I have experimented with C++ (not Arduino) projects using the Raspberry Pi Pico SDK for the XIAO RP2040, and they work as expected, but I haven’t done enough to contribute any worthwhile suggestions. I installed the sdk on my Linux system and followed instructions in the document “Getting started with Raspberry Pi Pico C/C++ development…”
Just copy the .uf2 file to the XIAO in boot mode.
By the way, I am adapting said “core” to include also XIAO RP2040 (borads.txt and variant files) so … in the future I will use only the Earle F. Philhower “core and NOT the buggy Seeedstudio “core”
Guglielmo
P.S.: Just compiled for XIAO RP2040, without errors, a test program with 3 serial, semaphores and “multi-core” control …
You can find the Earle F. Philhower “core” HERE … follow the instructions on the page for its installation.
Basically, without modifying anything, you can use the “generic” board, obviously being very careful about which pins you use, as it is not specific to the XIAO RP2040.
Earle F. Philhower just released the v1.13.2 of the arduino-pico “core” and …
… Seeed XAIO RP2040 is officially supported (pull #538) so … it’s possible to use one of the best arduino “core” for RP2040 also with XIAO RP2040 !
New release of Earle F. Philhower Arduino “core” for RP2040 … version 2.0.0 and …
Version 2.0.0 adds FreeRTOS SMP support thanks to @hfellner.
Normal applications will still use the default, non-RTOS setup/loop and setup1/loop1, but for users who need preemptive multitasking and multiple threads, FreeRTOS SMP can be used with
a simple #include <FreeRTOS.h>
A new release of Earle F. Philhower Arduino “core ” for RP2040 …
Release 2.1.0 - Memory/Flash reduction, C++ exceptions, Platform.IO, bugfixes
Shrink flash and RAM usage even more (#627)
Temporary fix for muilticore realloc (#625)
Remove IRQ-level malloc from USB setup
Disable Wire slave interrupt on ::end (#621)
Activate default -Os optimization for Platform.IO (#619)
Hide get.py download percent when not interactive (#618)
Remove obsolete include paths from build.inc (#616)
Fix IDE include paths / Intellisense (#615)
Reduce flash, RAM use, reduce download/install (#613)
Add GCC stack protector support (#611)
Try and upload ASAP instead of hard-waiting 10sec (#610)
Add C++ exception option to menus (#607)
Fix WizFi360-EVB-Pico pins_arduino.h (#608)
Major bugfix for multicore standard and FreeRTOS
Add dependency file generation to build (#644)
Update to latest Adafruit_TinyUSB (#639)
Update PlatformIO builder script and docs (#633)
Add analogReadResolution() docs (#631)
Updated helper class for Challenger NB board. (#629)
Add f_cpu 120, 240 mhz option (#628)
Add Platform.IO publish to release process
A new release of Earle F. Philhower Arduino “core ” for RP2040 …
Release 2.3.1 - Raspberry Pi Pico W WiFi support (and bug fix)
Add Pico W WiFi support (#670)
Fixes a compile error when building non-WIFI sketches on the Pico W
Fix ::printf/etc. due to mutex size conflict (#677)
Add delay to 2nd core start for Picoprobe (#676)
Add support for new SD/RTC and SubGHz boards (#663)
Automatically update the JSON file in makeboards (#664)
Disable WiFi.begin on plain Pico, add JSON (#682)
Provide dummy CYW43 callbacks when no WiFi used (#681)
Add OTA.o to make p.io builds function (#755)
Add OTA update support (#711)
Increase FreeRTOS timer task stack to 1024 (#752)
Udp: default local_ip to IP_ANY_TYPE when IPv6 is enabled (#750) IPv6 initial support from @oddstr13 (#748)
Fix typo in XIAO board name (#745)
Add board ElectronicCats Hunter Cat NFC (#741)
Fix UART wrong ::available() during wraparound (#739)
Stop random crashes while writing to flash (#730)
Increase LWIP MEM_SIZE to > TCP_SND_BUF (#731)
Adjust tcp_write size when memory is tight (#729)
Fix I2S timing (#728)
Add CMSIS defines to Platform.io (#721)
platform.txt: Add compiler flags for ARM CMSIS (#717)
Added to possibility to have extra compiler directives for a board. (#713)
A new release of Earle F. Philhower Arduino “core ” for RP2040 …
Release 2.6.0 - IDE 2.0 support and bugfixes
Add TARGET_RP2040 to build defines (#898)
Support IDE 2.0, detect UF2 volumes (#897)
Allow double-reset to jump to USB bootloader (#893)
Drive pin LOW after Tone(period) timeout (#887)
Fix Serial1/2 debug output mode in CoreMutex (#883)
Allow setCTS/RTS(UART_PIN_NOT_DEFINED) (#881)
Fix deadlock during attachInterrupt (#879)
Fix typo in HttpClient HTTPS example (#876)
Allow setting the WiFi region for PicoW (#875)