Skip to content

Spin Lock Build Errors with Pico SDK on Raspberry Pi Pico 2 (RP2350) #2325

Open
@crcz25

Description

@crcz25

Issue Description

I'm encountering inconsistent build errors when using the Pico SDK with the new Raspberry Pi Pico 2 (RP2350). The initial build attempt fails with multiple errors related to missing spin lock implementation for the RP2350 platform. However, in a second build attempt, the process succeeds without changes, which is unexpected and confusing. What could be causing these intermittent build failures? Are there known issues with spin locks on RP2350, or what might be happening?

Error details

When building with PICO_BOARD=pico2 and PICO_PLATFORM=rp2350, I get the error below. This error occurs across multiple steps (see the output from the terminal, terminal_log.txt). This is also my building script (build.txt), and my CMakeLists (CMakeLists.txt).

#error no SW_SPIN_TRY_LOCK available for PICO_USE_SW_SPIN_LOCK on this platform

Environment

  • Board: Raspberry Pi Pico 2 (RP2350)
  • OS: Ubuntu 24.04 (Docker container)
  • Using Pico SDK from the official repository
  • Build: CMake and arm-none-eabi-gcc (version 13.2.1) using build.sh
  • Platform: rp2350-arm-s
  • Project: Micro-ROS implementation (currently only loading the library and example code from the Micro-ROS tutorial). The publisher/subscriber works when I'm able to compile, so no issues there.

Reproduction steps

Configure CMake with PICO_BOARD=pico2 and PICO_PLATFORM=rp2350
Run build
Build fails at compilation stage with the spin lock errors

Observations

  • The first build attempt fails due to missing spin lock implementation for RP2350.
  • The second attempt succeeds without any changes.
  • No modifications were made between attempts, making the behavior inconsistent.

Any insights or debugging suggestions would be greatly appreciated!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions