Conversation

Jarkko Sakkinen

I'm not expert with #JTAG probes so no understanding how compatible probes from different vendors are with each other.

I've mostly used #Lauterbach probes in the past but not very often.

So anyway, I grabbed the info from Internet that with #VisionFive2 SBC Segger J-link family of probes are known to work. Are they my only choice or is there some good and perhaps cheaper but compatible options?

#riscv
1
0
0
@sdbbp Thanks, are these different probes expected to be compatible? Is the JTAG protocol always the same same and does it have like standardized wiring (e.g. like RS-232 TX/RX/GND)?

I'm familiar with OpenOCD. I use it at the university for prototype SoC (https://sochub.fi/). I plan to develop exactly scripts for it that I can develop and test with my SBC and then tune them to work with the SoC once I get them working on off-the-shelf hardware...
1
0
0

@jarkko Low-level JTAG is an IEEE standard. The RISC-V specifics of how the IR/DR resources work are in this part of the debug spec. https://github.com/riscv/riscv-debug-spec/blob/main/dtm.adoc

2
0
1
@sdbbp OK thanks a bunch for sharing this info :-)
0
0
1

@sdbbp @jarkko
Unfortunately anything using the T-HEAD cores (TH1520 for example) could use their own implementation called CKLINK. The debug spec is not part of the RISC-V base ISA so venders can implement other options.

1
0
0

@Fishwaldo @jarkko From https://wiki.sipeed.com/hardware/en/logic_analyzer/combo8/use_cklink_function.html it looks like CKLINK is at least a custom header, with a combo of UART and JTAG. You'll have to look into which header works with what board, and then whether the chip partially or wholely supports RISC-V debug directly via the JTAG interface.

1
0
0

@sdbbp @jarkko it’s more than a header. It’s != JTAG protocol. It has its own “closed” implementation. Eg normal JTAG probes can’t work with CkLink enabled cores and visa versa.

2
0
0
@Fishwaldo @sdbbp Thanks for the remark. So: CkLink is.a proprietary extension for JTAG protocol?
2
0
0
@Fishwaldo @sdbbp I know by empirical fact that Segger's J-link series of probes have been successfully used with VisionFive2. It was mentioned in this article: https://sizeof.cat/post/starfive-visionfive-2/

From that same article I found the U-boot source for JTAG init: https://github.com/starfive-tech/u-boot/blob/ac0ac696256abf412826d74ee918dd417e207d7b/board/starfive/visionfive2/starfive_visionfive2.c#L354

Can one derive from that init code what kind of probe's are compatible?
1
0
0

@jarkko @sdbbp it’s proprietary debug protocol for t-head riscv based cores. Eg the TH1520 in the lichee 4a or sophgo based chips.

It operates very similar from a software developers perspective to JTAG but its implementation is slightly different. eg, it doesn’t use openOCD to connect to GDB, but something called THeadDebugServer.

0
0
0

@jarkko @sdbbp @jarkko yes. The VisionFive2 has a core from sifive. They implement JTAG.

I was pointing out that JTAG isn’t a mandatory debugging feature for riscv SOC’s.

1
0
1