Issue for using OpenOCD to debug Xscale by WIGGLER?

Hi,

I have built OpenOCD to debug my xscale platform by using Amontec JTAGkey-Tiny and Macraigor WIGGLER device. Now, I can debug my xscale if I use JTAGkey-Tiny. But I can not use OpenOCD with WIGGLER to debug xscale. It seems that debug handler always return error data and cause OpenOCD initialization fail. Below are part of its log.

  • Debug: bitbang.c:198 bitbang_execute_queue(): end_state: 8

    Debug: bitbang.c:237 bitbang_execute_queue(): scan end in -1

    Debug: jtag.c:1001 jtag_build_buffer(): fields[0].out_value: 0x10

    Debug: jtag.c:1032 jtag_read_buffer(): fields[0].in_value: 0x01

    Debug: bitbang.c:231 bitbang_execute_queue(): pathmove: 3 states, end in 3

    Debug: bitbang.c:237 bitbang_execute_queue(): scan end in 8

    Debug: jtag.c:1032 jtag_read_buffer(): fields[0].in_value: 0x00

    Warning: jtag.c:1074 jtag_read_buffer(): value captured during scan didn’t pass the requested check: captured: 0x00 check_value: 0x02 check_mask: 0x06

    Debug: jtag.c:1032 jtag_read_buffer(): fields[1].in_value: 0x00000000

    Debug: jtag.c:1032 jtag_read_buffer(): fields[2].in_value: 0x00

    Error: xscale.c:392 xscale_receive(): JTAG error while receiving data from debug handler



  • I am not sure that it is configure error or my xscale platform issue, but I can use GDB + Macrigor’s OCDremote + WIGGLER to debug my xscale platform. Below is my configure file for OpenOCD:

  • #daemon configuration

    telnet_port 4444

    gdb_port 3333

    #interface

    interface parport

    parport_port 0x378

    parport_cable wiggler

    jtag_speed 10

    jtag_nsrst_delay 200

    jtag_ntrst_delay 200

    #use combined on interfaces or targets that can’t set TRST/SRST separately

    reset_config srst_only srst_pulls_trst

    #jtag scan chain

    #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)

    jtag_device 7 0x1 0x7f 0x7e

    #target configuration

    daemon_startup reset

    #target

    #target arm7tdmi

    target xscale big run_and_halt 0 IXP42x 0x900

    run_and_halt_time 0 30


  • Does anyone know what happen? Thanks in advance.

    Best Regards,

    chanchao[/code]

    Hi Chanchao,

    Your Xscale Debug works with Amontec JTAGkey-Tiny. Please send us your .cfg file when using the Amontec JTAGkey-Tiny.


    Using Wiggler, the tricky thing should become from the drive of the Trst or Srst signal.

    Maybe try to watch the TRST SRST signal sequence on startup.

    Also, try with

    jtag_nsrst_delay 500

    jtag_ntrst_delay 500

    Laurent

    http://www.amontec.com

    Hello Chanchao

    please add your working cfg at the OpenOCD page to:

    http://openfacts.berlios.de/index-en.ph … CD_scripts

    Best regards,

    Michael

    Hi all,

    I have posted script to below page:

    http://openfacts.berlios.de/index-en.ph … CD_scripts

    By the way, I still can not use Macrigor wiggler with OpenOCD to debug my IXP42x. If you have any useful information, please tell me. Thanks in advance.

    Best Regards,

    chanchao

    Hi Chanchoa,

    Original Wiggler, Amontec Chameleon POD in Wiggler mode or home-made wiggler?

    The OpenOCD wiggler low layer software and the OpenOCD JTAGkey low layer software seem to be stable. Your issue could become from the software, but I feel this issue as an hardware issue.

    Take an Oscilloscope and check the startup sequence when using the wiggler and the Amontec JTAGkey, and compare.

    You could first fix your trigger on the edge of SRST and/or on the edge of TRST.

    Let us know. This will help.

    Regards,

    Laurent

    http://www.amontec.com