3 Replies Latest reply on Dec 9, 2018 10:11 PM by aani

    How to create FX3.cfg file for Olimex ARM-USB-OCD-H debuger

    ievgenrai_2610591

      I have Olimex ARM-USB-OCD-H debuger and I want to debug FX3 device placed on my DevBoard.

      I use Cypress EZ USB Suite.

      I installed OpenOCD 0.6.1 as in the example (12.2.1.2 FX3 Programmers manual) and created ezusb_fx3.cfg file.

      I installed drivers for Olimex ARM-USB-OCD-H using Zadig 2.4.exe.

       

      #

      # Olimex ARM-USB-OCD-H

      #

      # http://www.olimex.com/dev/arm-usb-ocd.html

      #

      #interface

       

      interface ft2232

      ft2232_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"

      ft2232_layout olimex-jtag

      ft2232_vid_pid 0x15ba 0x002b

       

      ######################################

      # Target: CYPRESS FX3 ARM926-ejs

      ######################################

      if { [info exists CHIPNAME] } {

      set _CHIPNAME $CHIPNAME

      } else {

      set _CHIPNAME fx3

      }

      if { [info exists ENDIAN] } {

      set _ENDIAN $ENDIAN

      } else {

      set _ENDIAN little

      }

      if { [info exists CPUTAPID] } {

      set _CPUTAPID $CPUTAPID

      } else {

      set _CPUTAPID 0x07926069

      }

      #delays on reset lines

      jtag_nsrst_delay 200

      jtag_ntrst_delay 200

      jtag_khz 1000

      jtag_khz 1000

      reset_config trst_and_srst srst_pulls_trst

      jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

      jtag_rclk 3

      ######################

      # Target configuration

      ######################

       

       

      set _TARGETNAME $_CHIPNAME.cpu

      target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs

      jtag_khz 1000

       

      When I tried to connect debuger to the FX3 I see next message:

       

      Open On-Chip Debugger 0.6.1 (2012-10-07-10:39)

      Licensed under GNU GPL v2

      For bug reports, read

      http://openocd.sourceforge.net/doc/doxygen/bugs.html

      Info : only one transport option; autoselect 'jtag'

      DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'

      adapter_nsrst_delay: 200

      jtag_ntrst_delay: 200

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain

      RCLK - adaptive

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      Error: libusb_open() failed with -12

      Info : clock speed 1000 kHz

      Error: JTAG scan chain interrogation failed: all ones

      Error: Check JTAG interface, timings, target power, etc.

      Error: Trying to use configured scan chain anyway...

      Error: fx3.cpu: IR capture error; saw 0x0f not 0x01

      Warn : Bypassing JTAG setup events due to errors

      Info : Embedded ICE version 15

      Error: unknown EmbeddedICE version (comms ctrl: 0xffffffff)

      Info : fx3.cpu: hardware has 2 breakpoint/watchpoint units

      Warn : WARNING: unknown debug reason: 0xf

      Warn : ThumbEE -- incomplete support

       

      I sink that driver for ARM-USB-OCD-H wasn`t opened (Error: libusb_open() failed with -12).

      I tried to use OpenOCD 0.9.0 from Olimex packet for debuger. I this case with the same ezusb_fx3.cfg file I have seen message:

       

      Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:09)

      Licensed under GNU GPL v2

      For bug reports, read

      http://openocd.org/doc/doxygen/bugs.html

      Info : only one transport option; autoselect 'jtag'

      DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'

      adapter_nsrst_delay: 200

      jtag_ntrst_delay: 200

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst

      RCLK - adaptive

      embedded:startup.tcl:21: Error: Unknown param: -variant, try one of: -type, -event, -work-area-virt, -work-area-phys, -work-area-size, -work-area-backup, -endian, -coreid, -chain-position, -dbgbase, or -rtos

      in procedure 'script'

      at file "embedded:startup.tcl", line 60

      in procedure 'target' called at file "ezusb_fx3.cfg", line 44

      in procedure 'ocd_bouncer'

      at file "embedded:startup.tcl", line 21

       

      Than I have modifyed ezusb_fx3.cfg file as at the file openocd-0.9.0-rc1\scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg:

      #

      # Olimex ARM-USB-OCD-H

      #

      # http://www.olimex.com/dev/arm-usb-ocd.html

      #

      #interface

       

      interface ftdi

      ftdi_device_desc "Olimex OpenOCD JTAG ARM-USB-OCD-H"

      ftdi_vid_pid 0x15ba 0x002b

       

       

      ftdi_layout_init 0x0908 0x0b1b

      ftdi_layout_signal nSRST -oe 0x0200

      ftdi_layout_signal nTRST -data 0x0100

      ftdi_layout_signal LED -data 0x0800

       

       

      ######################################

      # Target: CYPRESS FX3 ARM926-ejs

      ######################################

      if { [info exists CHIPNAME] } {

      set _CHIPNAME $CHIPNAME

      } else {

      set _CHIPNAME fx3

      }

      if { [info exists ENDIAN] } {

      set _ENDIAN $ENDIAN

      } else {

      set _ENDIAN little

      }

      if { [info exists CPUTAPID] } {

      set _CPUTAPID $CPUTAPID

      } else {

      set _CPUTAPID 0x07926069

      }

      #delays on reset lines

      jtag_nsrst_delay 200

      jtag_ntrst_delay 200

      jtag_khz 1000

      jtag_khz 1000

      reset_config trst_and_srst srst_pulls_trst

      jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

      jtag_rclk 3

      ######################

      # Target configuration

      ######################

       

       

      set _TARGETNAME $_CHIPNAME.cpu

      target create $_TARGETNAME arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm926ejs

      jtag_khz 1000

       

      And recieved message:

       

      Open On-Chip Debugger 0.9.0-rc1 (2015-04-24-22:09)

      Licensed under GNU GPL v2

      For bug reports, read

      http://openocd.org/doc/doxygen/bugs.html

      DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'

      adapter_nsrst_delay: 200

      Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.

      jtag_ntrst_delay: 200

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      DEPRECATED! use 'adapter_khz' not 'jtag_khz'

      adapter speed: 1000 kHz

      trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst

      RCLK - adaptive

      embedded:startup.tcl:21: Error: Unknown param: -variant, try one of: -type, -event, -work-area-virt, -work-area-phys, -work-area-size, -work-area-backup, -endian, -coreid, -chain-position, -dbgbase, or -rtos

      in procedure 'script'

      at file "embedded:startup.tcl", line 60

      in procedure 'target' called at file "ezusb_fx3.cfg", line 53

      in procedure 'ocd_bouncer'

      at file "embedded:startup.tcl", line 21

       

      How to fix this problem and begin debug DevBoard?