raspberrypi / debugprobe

779 stars 207 forks source link

Support additional boards #20

Open thezim opened 3 years ago

thezim commented 3 years ago

Supporting addition boards via the QWIIC/Stemma QT connector like the following would be a great addition. This is not an exhaustive list, I'm sure many more exist.

I see @smittytone has already started on the Adafruit board.

smittytone commented 3 years ago

Indeed. Ready to go and in a way that can be extended to other boards

werediver commented 2 years ago

Those QWIIC, Stemma QT, Grove ports, they are not suitable for debugging. Those are just I²C interface and power lines.

thezim commented 2 years ago

Those QWIIC, Stemma QT, Grove ports, they are not suitable for debugging. Those are just I²C interface and power lines.

I can assure you it is suitable and it works. You might be misunderstanding that pins can be mapped to other IO functions and not locked to i2c functionality. I have used both of the above to debug another RP2040 target.

werediver commented 2 years ago

Those QWIIC, Stemma QT, Grove ports, they are not suitable for debugging. Those are just I²C interface and power lines.

I can assure you it is suitable and it works. You might be misunderstanding that pins can be mapped to other IO functions and not locked to i2c functionality. I have used both of the above to debug another RP2040 target.

Looking at RP2040 datasheet, the SWD pins don't seem to be remappable. You can, of course, solder any connector to any pins, but that's not what QWIIC et al. typically mean.

If you're saying it's possible, I trust there may be such a possibility in some cases, though.

thezim commented 2 years ago

I see where you are coming from now. In this case we can use the above boards as a pico probe to connect to a different target. On the probe side we are not limited to which pins can be assigned. Now if we were trying to debug the boards as a target you are 100% corrected. Those lines have to go to SWDIO/SWCLK directly.

werediver commented 2 years ago

Ah, that's what you mean, now I understand 👍

I'd personally prefer to use an IDC-10 with the standard Cortex Debug pinout (ideally the suggested 1.27 mm pitch size), but that's not always possible 🤷

Picoprobe seems to be focusing on Pico quite sharp, though. And the custom debugger protocol (requiring a custom OpenOCD build) doesn't really help promoting it.

thezim commented 2 years ago

Ah, that's what you mean, now I understand 👍

I'd personally prefer to use an IDC-10 with the standard Cortex Debug pinout (ideally the suggested 1 mm pitch size), but that's not always possible 🤷

Had to solder my own header to my SparkFun Thing Plus - RP2040, not fun in the through hole position at that pitch . I do wish all target boards had an IDC-10 but I understand trying to keep price point low and gearing most RP2040 board towards Arduino core for easier user adoption.

lurch commented 2 years ago

I'd personally prefer to use an IDC-10 with the standard Cortex Debug pinout

See also https://datasheets.raspberrypi.com/debug/debug-connector-specification.pdf (as used on the Raspberry Pi Pico H). And yes, of course https://xkcd.com/927/ also applies :laughing:

Picoprobe seems to be focusing on Pico quite sharp, though.

Because when picoprobe was written, Pico was the only RP2040 board :wink: (we're a small engineering team, so we've not had the time or resources to actively support non-Pico boards)

And the custom debugger protocol

It's not really my area of knowledge, but see #31

werediver commented 2 years ago

@lurch My understanding regarding #31 is it's never going to be merged 😞 Which is, probably, not that big of a deal, because there is other CMSIS-DAP compliant firmware that can run on Pico, e.g. https://github.com/majbthrd/DapperMime and https://github.com/ciniml/rust-dap (in Rust, using PIO).

Dandy-Don commented 11 months ago

Hi, thezim.

So am I correct in stating that I can buy the adafruit Raspberry Pi Debug Probe Kit for Pico and RP2040 (product #5699) & use it to debug the adafruit QT Py RP2040?

Just asking before buying.....

Thanks for your help! --Don

thezim commented 11 months ago

Hi, thezim.

So am I correct in stating that I can buy the adafruit Raspberry Pi Debug Probe Kit for Pico and RP2040 (product #5699) & use it to debug the adafruit QT Py RP2040?

Just asking before buying.....

Thanks for your help! --Don

No. The QT Py RP2040 does not expose the SWDIO or SWCLK pins to allow it to be debugged as a target.

smittytone commented 11 months ago

If it's the QTPy's small form-factor that appeals, @Dandy-Don, then the Pimoroni Tiny is of a similar size and does expose SWD and SWD pins.