logoalt Hacker News

Veservyesterday at 7:26 PM4 repliesview on HN

Most of those boards have a separate physical JTAG connector (at least in development kits, this article indicates JTAG over USB is disabled in production systems anyways so no difference there) which is what they are expecting you to use for low-level debugging. It only costs like 1,000 $ for a JTAG probe which is like 1 fully-burdened engineer-day of cost. Even fully featured probes enabling hardware trace and time-travel debugging only cost like 1 engineer-week.


Replies

bri3dyesterday at 7:36 PM

> Most of those boards have a separate physical JTAG connector (at least in development kits, this article indicates JTAG over USB is disabled in production systems anyways so no difference there

There's generally an entire phase of prototyping where engineers will be using production boards but still need JTAG, which is why it's fused and why these kinds of features exist. It's a lot easier to have your lower-level software team (drivers/BSP, perf, etc.) sitting with production-ready units provisioned with engineering keys and debug enabled than to have them having to use some kind of case-off JTAG header setup, cost aside.

AlotOfReadingyesterday at 8:49 PM

The probes cost enough to exceed individual purchasing limits at hardware companies, which means you need to go through the requisition process. That takes long enough that you have to plan ahead and you don't order more as your needs increase. Then everyone's fighting for the limited probes right before a ship date and they get jealously guarded like priceless jewels.

JTAG also isn't usually exposed through enclosures, so using the probe on a field unit might require destructive entry depending on the application.

show 2 replies
Hizonneryesterday at 7:37 PM

> this article indicates JTAG over USB is disabled in production systems anyways

Well, should be. I bet there've been screwups now and then...

show 1 reply
mrheosupertoday at 3:02 AM

Nope, Many phases you have to debug on real product (no access or hard to access to jtag/swd header).