another diff session, this time on the openocd logs, reveled a difference in 
the way two firmware versions respond to a certain EMU_CMD_HW_JTAG3 (0xCF) 
command issued by openocd:

        Debug: 399 977 jlink.c:1516 jlink_usb_write(): jlink_usb_write, 
out_length = 168, result = 168
        Debug: 400 977 jlink.c:1563 jlink_debug_buffer(): 0000 cf 00 8f 02 17 
00 00 00 00 00 00 00 00 00 00 00
        Debug: 401 977 jlink.c:1563 jlink_debug_buffer(): 0010 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00
        Debug: 402 977 jlink.c:1563 jlink_debug_buffer(): 0020 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00
        Debug: 403 977 jlink.c:1563 jlink_debug_buffer(): 0030 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00
        Debug: 404 977 jlink.c:1563 jlink_debug_buffer(): 0040 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00
        Debug: 405 977 jlink.c:1563 jlink_debug_buffer(): 0050 00 00 00 00 40 
7f 80 7f 00 00 80 7f 00 00 80 7f
        Debug: 406 977 jlink.c:1563 jlink_debug_buffer(): 0060 00 00 80 7f 00 
00 80 7f 00 00 80 7f 00 00 80 7f
        Debug: 407 977 jlink.c:1563 jlink_debug_buffer(): 0070 00 00 80 7f 00 
00 80 7f 00 00 80 7f 00 00 80 7f
        Debug: 408 977 jlink.c:1563 jlink_debug_buffer(): 0080 00 00 80 7f 00 
00 80 7f 00 00 80 7f 00 00 80 7f
        Debug: 409 977 jlink.c:1563 jlink_debug_buffer(): 0090 00 00 80 7f 00 
00 80 7f 00 00 80 7f 00 00 80 7f
        Debug: 410 977 jlink.c:1563 jlink_debug_buffer(): 00a0 00 00 80 7f 00 
00 00 00

with the 4.42 firmware, the result looks like this:

        Debug: 411 978 jlink.c:1528 jlink_usb_read(): jlink_usb_read, result = 
82
        Debug: 412 978 jlink.c:1563 jlink_debug_buffer(): 0000 ff 3b 02 d0 9d 
20 80 20 8b 7f 00 00 80 7f 00 00
        Debug: 413 978 jlink.c:1563 jlink_debug_buffer(): 0010 80 7f 00 00 80 
7f 00 00 80 7f 00 00 80 7f 00 00
        Debug: 414 978 jlink.c:1563 jlink_debug_buffer(): 0020 80 7f 00 00 80 
7f 00 00 80 7f 00 00 80 7f 00 00
        Debug: 415 978 jlink.c:1563 jlink_debug_buffer(): 0030 80 7f 00 00 80 
7f 00 00 80 7f 00 00 80 7f 00 00
        Debug: 416 978 jlink.c:1563 jlink_debug_buffer(): 0040 80 7f 00 00 80 
7f 00 00 80 7f 00 00 80 7f 00 00
        Debug: 417 978 jlink.c:1563 jlink_debug_buffer(): 0050 80 7f

        Debug: 418 978 jlink.c:1541 jlink_usb_read_emu_result(): 
jlink_usb_read_result, result = 1
        Debug: 419 978 jlink.c:1563 jlink_debug_buffer(): 0000 00
        Debug: 420 978 jlink.c:1323 jlink_tap_execute(): pending scan result, 
length = 640
        Debug: 421 978 jlink.c:1563 jlink_debug_buffer(): 0000 77 04 a0 3b 41 
00 41 16 ff 00 00 00 ff 00 00 00
        Debug: 422 978 jlink.c:1563 jlink_debug_buffer(): 0010 ff 00 00 00 ff 
00 00 00 ff 00 00 00 ff 00 00 00
        Debug: 423 978 jlink.c:1563 jlink_debug_buffer(): 0020 ff 00 00 00 ff 
00 00 00 ff 00 00 00 ff 00 00 00
        Debug: 424 978 jlink.c:1563 jlink_debug_buffer(): 0030 ff 00 00 00 ff 
00 00 00 ff 00 00 00 ff 00 00 00
        Debug: 425 978 jlink.c:1563 jlink_debug_buffer(): 0040 ff 00 00 00 ff 
00 00 00 ff 00 00 00 ff 00 00 00
        Debug: 426 978 commands.c:238 jtag_read_buffer(): 
fields[0].in_value[640]: 0x164100413BA00477
        Info : 427 978 core.c:951 jtag_examine_chain_display(): JTAG tap: 
stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
        Info : 428 978 core.c:951 jtag_examine_chain_display(): JTAG tap: 
stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
        Debug: 429 978 core.c:1208 jtag_validate_ircapture(): IR capture 
validation scan

with the 4.46 firmware, the result is all 1:

        Debug: 411 995 jlink.c:1528 jlink_usb_read(): jlink_usb_read, result = 
82
        Debug: 412 995 jlink.c:1563 jlink_debug_buffer(): 0000 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 413 995 jlink.c:1563 jlink_debug_buffer(): 0010 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 414 995 jlink.c:1563 jlink_debug_buffer(): 0020 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 415 995 jlink.c:1563 jlink_debug_buffer(): 0030 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 416 995 jlink.c:1563 jlink_debug_buffer(): 0040 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 417 995 jlink.c:1563 jlink_debug_buffer(): 0050 ff 7f

        Debug: 418 996 jlink.c:1541 jlink_usb_read_emu_result(): 
jlink_usb_read_result, result = 1
        Debug: 419 996 jlink.c:1563 jlink_debug_buffer(): 0000 00
        Debug: 420 996 jlink.c:1323 jlink_tap_execute(): pending scan result, 
length = 640
        Debug: 421 996 jlink.c:1563 jlink_debug_buffer(): 0000 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 422 996 jlink.c:1563 jlink_debug_buffer(): 0010 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 423 996 jlink.c:1563 jlink_debug_buffer(): 0020 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 424 996 jlink.c:1563 jlink_debug_buffer(): 0030 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 425 996 jlink.c:1563 jlink_debug_buffer(): 0040 ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff
        Debug: 426 996 commands.c:238 jtag_read_buffer(): 
fields[0].in_value[640]: 0xFFFFFFFFFFFFFFFF
        Error: 427 996 core.c:941 jtag_examine_chain_check(): JTAG scan chain 
interrogation failed: all ones
        Error: 428 996 core.c:942 jtag_examine_chain_check(): Check JTAG 
interface, timings, target power, etc.
        Error: 429 996 core.c:1457 jtag_init_inner(): Trying to use configured 
scan chain anyway...
        Debug: 430 996 core.c:1208 jtag_validate_ircapture(): IR capture 
validation scan

my first thought is a bug in the new firmware, that in this configuration fails.

(the test was performed with exactly the same hardware, with the two firmware 
versions; no other differences were noted).


Xiofan/Alexander,

Q1: any idea where does this long JTAG sequence come from? can we shorten it? 
(since other long transactions seem to work, only this particular one fails).

Q2: can you imagine an erroneous condition in our code (the usb stack?) that 
could lead to such a situation?


if not, I will report this to Segger.


Liviu


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to