Open SiliconWizard opened 3 years ago
I'd be interested in adding support one day, though personally I don't really use the FTDI chips. If you've not seen ecpprog, that works with FTDI devices and has basically the same featureset. In principle the underlying jtagdap library could probably abstract the FTDI devices the same as it does the CMSIS-DAP ones, and this crate wouldn't even need updating.
However, experience from probe-rs suggests linking against libftdi makes crates more annoying to build (especially on Windows) and since I don't use the FTDI devices it's not a high priority for me.
Thanks for pointing out the ecpprog project. Yours actually has more features: apparently, ecpprog can only program Flash and can't just configure the FPGA the way your tool does (unless I missed it?). It also doesn't implement Flash protect/unprotect as far as I've seen. It's annoying. And it seems a lot less flexible regarding the Flash chips it supports. Being written in C, modifying it should be much easier for me though.
As to FTDI chips, there are a lot of JTAG probes out there using them compared to DAP-based probes, so I think supporting them would be a nice complement.
Meanwhile, would you happen to have any reference of off-the-shelf DAP v2 probes? Looks like there's very few of them available.
I can recommend NXP's MCU-Link which is inexpensive and widely available, it's only CMSIS-DAPv1 but it uses USB 2.0 HS so is quite a lot faster than most other debug probes. The hs-probe supports CMSIS-DAPv2 and USB HS, and has open-source firmware in Rust, but it's only available to pre-order at the moment.
Thanks! Regarding ecpprog, actually the project description is very sparse, but I looked at the source code and it seems to support many more features than is described there. I'll have to test it, but for supporting FTDI-based probes, it should do for now.
I know this isn't quite the purpose of this tool, as its name clearly mentions "dap", but I think it would be interesting if your tool could also support FTDI-based (FT232H, FT2232H, ...) JTAG probes. Unfortunately, I don't know enough Rust to be able to help here.
Let me know what you think about this. If you decide it's definitely not going to happen, you can close this ticket. Now if you think that's doable, I think that'd be interesting.