Skip to content

Use the Pico SDK's board definitions in Debug Probe firmware - #209

Merged
P33M merged 4 commits into
raspberrypi:masterfrom
carlwhamilton:pico_board
Oct 2, 2026
Merged

P33M merged 4 commits into
raspberrypi:masterfrom
carlwhamilton:pico_board

Conversation

@carlwhamilton

@carlwhamilton carlwhamilton commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Use the Pico SDK's board definitions (which includes the debug_probe as of version 2.3.0) to configure the build and behavior of the Debug Probe firmware.

Unfortunately, this change affects the way firmware is configured for the Pico and Pico 2 boards. This is covered in the updated README.md, but could trip up users. The new method, however, is probably more inline with other projects.

Closes #210

lurch EDIT: According to the comments in #210 , this shouldn't be merged until after #208 has been merged.

Comment thread pico_sdk_import.cmake
@lurch

lurch commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

I guess this PR also has a slight impact on when an invalid-board-selection error gets raised - prior to this PR it would get flagged at cmake configure-time (in CMakeLists.txt), but after this PR it would only get flagged at compile-time (in include/board_config.h). However I'm not familiar enough with this repo to know if this would be a problem or not.

@lurch

lurch commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

which include the debug_problem

🤔 🤔 🤣

@carlwhamilton

Copy link
Copy Markdown
Contributor Author

I guess this PR also has a slight impact on when an invalid-board-selection error gets raised - prior to this PR it would get flagged at cmake configure-time (in CMakeLists.txt), but after this PR it would only get flagged at compile-time (in include/board_config.h). However I'm not familiar enough with this repo to know if this would be a problem or not.

That would depend on the nature of the unsupported board. If one tried to configure for a board that the SDK doesn't support (e.g. debug_problem), the failure happens during CMake configuration time. If somebody thinks they can compile the firmware for any old board (e.g. the SDK's none board), then yes, the failure occurs at compile time.

I'm new to all of this, so I don't fully appreciate what the expectations should be. I'm happy to rework this change if people feel strongly that the failure should happen during configuration.

@carlwhamilton
carlwhamilton requested a review from lurch September 29, 2026 16:02
@lurch
lurch removed their request for review September 29, 2026 16:52
@lurch

lurch commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

I removed my review-request, as I have no particular expertise or ownership in the debugprobe code.

@P33M

P33M commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

I've merged #208 which now conflicts with this branch (same commits in both branches). Please rebase on top of latest master.

This simplifies building the Debug Probe firmware for any board
supported by the Pico SDK's board idenfication and configuration
framework. If no PICO_BOARD value is provided on the cmake command line,
firmware will be built for the `debug_probe` board defined in the SDK.
Building for the Debug Probe now requires the debug_probe board
definition from the Pico SDK, which was introduced in SDK version 2.3.0.

Unfortunately, performing this version test requires some gyrations in
pico_sdk_import.cmake to test the SDK's version before including the
standard SDK init file. Changing pico_sdk_import.cmake is generally
discouraged, but I couldn't find a better way to produce a helpful error
when building against an outdated SDK.
The firmware's default target board, debug_probe, requires Pico SDK
2.3.0 or newer. Therefore, this documentation for this requirement has
been hoisted into the "Hacking" section.
@carlwhamilton

carlwhamilton commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor Author

This PR has been rebased on master following the squash merge of #208. Please review when convenient.

Thanks!

@P33M
P33M merged commit 262f962 into raspberrypi:master Oct 2, 2026
@P33M

P33M commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Merged, thanks.

@carlwhamilton
carlwhamilton deleted the pico_board branch October 6, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate firmware configuration with the Pico SDK's board definitions

3 participants