Repository navigation
Use the Pico SDK's board definitions in Debug Probe firmware - #209
Conversation
|
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 |
🤔 🤔 🤣 |
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. |
|
I removed my review-request, as I have no particular expertise or ownership in the debugprobe code. |
|
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.
29235d5 to
508c708
Compare
|
This PR has been rebased on master following the squash merge of #208. Please review when convenient. Thanks! |
|
Merged, thanks. |
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.