2
\$\begingroup\$

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)

\$\endgroup\$

1 Answer 1

3
\$\begingroup\$

You really get what you pay for and need to look at what features you get with the price.

For example, ST-Link is made by ST and it will work with whatever tools that support it and generally it can be only used with ST MCUs.

Something more expensive like J-Link can be used with many brands of MCUs and many different tools. These may have more smart features when used with ST MCUs than what ST-Link will have, such as more breakpoints.

So if you need to work with say 20 different MCU brands, you may want to get a single J-Link which works with all of them, instead of getting 20 different MCU specific adapters.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.