Hi,

On Mon, Mar 05, 2018 at 10:11:46AM +0300, Vlad Ivanov wrote:
> Data should not be shifted upon transition from CAPTURE-*
> to SHIFT-*. TDI is shifted into a register only if the
> state at the rising egde of TCK is already SHIFT-*.
> 
> I stumbled upon this while implementing a EJTAG decoder
> for MIPS and have tested it with some debugging hardware.
> 
> Relevant stackoverflow post: 
> https://electronics.stackexchange.com/questions/342258/is-tdi-shifted-on-move-from-shift-ir-to-exit2-ir-in-jtag
> 
> v2 fixes tabs/spaces mixup

Whitespace is still broken AFAICS, probably easier to attach the file
created by "git format-patch HEAD~1" to an email or just ping us with
a link to some github clone/commit (here or on IRC).

I tried to manually recreate the patch, but a quick test-run (of all the
jtag and jtag_stm32 tests in the sigrok-test repo) seems to suggest that
it also breaks some decoding which looked valid before, e.g.


-4554188-4554225 jtag_stm32: command: "IR: IDCODE"
-4554601-4554606 jtag_stm32: field: "Reserved (BS TAP)" "BS" "B"
-4554606-4554610 jtag_stm32: field: "Reserved" "Res" "R"
-4554638-4554654 jtag_stm32: item: "Continuation code: 0x4" "CC" "C"
-4554610-4554638 jtag_stm32: item: "Identity code: 0x3b" "IC" "I"
-4554610-4554654 jtag_stm32: field: "Manufacturer: ARM Ltd." "Manuf" "M"
-4554654-4554718 jtag_stm32: field: "Part: JTAG-DP" "Part" "P"
-4554718-4554735 jtag_stm32: field: "Version: JTAG-DP" "Version" "V"
-4554606-4554735 jtag_stm32: command: "IDCODE: 0x3ba00477 (ARM Ltd.: 
JTAG-DP/JTAG-DP)"
+4554188-4554225 jtag_stm32: command: "IR: BYPASS"
+4554601-4554735 jtag_stm32: item: "BYPASS: 000000000000000000000000000000000"


Or this:

-1529159-1529196 jtag_stm32: command: "IR: APACC"
-1529217-1529364 jtag_stm32: command: "New transaction: DATA: 0x0, A: 00, RnW: 
Read request"
-1529217-1529364 jtag_stm32: command: "Previous transaction result: DATA: 0x0, 
ACK: OK/FAULT"
+1529159-1529196 jtag_stm32: command: "IR: UNKNOWN"
+1529217-1529364 jtag_stm32: command: "Unknown instruction: 
00000000000000000000000000000000001"


I haven't looked into the details, could be something missing or could
be an issue in the stacked jtag_stm32 PD maybe, not sure.

Btw, there's a different potential fix for this issue here, maybe you
could have a look of whether that one could be relevant as well and/or
whether both fixes can be merged or such?

https://sigrok.org/bugzilla/show_bug.cgi?id=1066

Another JTAG issue is here (not sure if related), the patch is was not
fully working unfortunately, though.

https://sigrok.org/bugzilla/show_bug.cgi?id=842


Cheers, Uwe.
-- 
http://hermann-uwe.de | http://randomprojects.org | http://sigrok.org

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to