I've been working in embedded programming for a few years now, and there is something I still don't quite understand about debugging protocols and probes.
So as I understand it, to program and debug an MCU, we use protocols such as SWD, JTAG, µJTAG,... MCUs implement one (or more) of these protocols to allow the outside world the peek into their internals. Great !
Our host computer, on which we write and compile our code, usually doesn't speak these protocols. So we plug a probe in USB to the host computer and the probe interacts with the MCU using SWD, JTAG, ...
If I am right, is it okay to think about the probe as a bridge USB<->SWD/JTAG ?
On the market, there are a lot of probes we can buy, and some manufacturers sell them for a very high price. Segger JLINK models are all above 300$, the JLINK-Pro is ~1000$. And I am not talking about JTrace that are ~2000$ because they seem to fulfill a different need. Official ST-LINK/V2-ISOL sells for 80$, ST-LINK/V2 are 20$. This is a lot cheaper, but it looks like a lot for what the hardware on this probes really is.
So what justifies such high prices ? What is the added value of these probes that would make me willingly pay this price ?
Whatever these probes actually do, in the end, they are still talking using SWD/JTAG to the MCU. So in the end, why they just don't act like "dumb" bridges and let the host computer do all the fancy smart things ?
Also, on some sites, we can find JLink or ST-LINK copies that look like they have the same hardware (sometimes even the same packaging) as the official ones, but at a way cheaper price. For example <10$ for a JLink copy. Moreover, they are completely functional and fulfill their purpose of programming a MCU through SWD or JTAG (someone told me, I obviously wouldn't dare to use a counterfeit probe 🙃).
What are the tradeoffs made by such cheap probes ? Are they just reselling/rebranding official probes that they have access to through proximity to the factory they are produced in ?
That's a lot of questions, but it would demystify a lot the tools I use on a daily basis. Thanks in advance !
(PS: not a native speaker, so please excuse my wording)