Currently, the project skeleton recommends the usage of DapperMime to transform a Raspberry Pi Pico into a CMSIS-DAP debug probe.
According to a comment thread in the embassy chat, a faster alternative rust-dap exists:
9names
dapper-mime works, but rust-dap is faster as it supports cmsis-dap v2 and uses the rp2040 PIO to drive SWD. here's a build of that to test on, if you're interested
https://raw.githubusercontent.com/9names/binary-bits/main/rust-dap-pico-ramexec-setclock.uf2
Peter Hansen
Always happy to upgrade things! :-) And that's awesome that someone put PIO to use for this.
Is that build based on https://github.com/ciniml/rust-dap ? (Just checking, 'cause that one says it's no faster than other probe implementations, and doesn't mention v2 at least on the readme.)
9names
it is a build of that, yes the readme is out of date
i did some performance profiling earlier this year. cmsis-dap v1 firmwares cap out at around 22KB/sec, cmsis-dap v2 + bit-banging at around 54KB/sec, and cmsis-dap v2 + PIO at about 116KB/sec - we're getting capped by USB FS throughput at that speed unfortunately.
if we had USB HS on rp2040 I assume we would be getting 3-4 times that, which would put us at HS-probe levels of performance
The rust-dap firmware should be investigated, and if it proves to be better than DapperMime then it should replace it in this repository.
Currently, the project skeleton recommends the usage of
DapperMimeto transform a Raspberry Pi Pico into a CMSIS-DAP debug probe.According to a comment thread in the
embassychat, a faster alternativerust-dapexists:The
rust-dapfirmware should be investigated, and if it proves to be better thanDapperMimethen it should replace it in this repository.