error: -100 command handler execution failed

Hi all,

I am a newbie to openocd. I use siemens ertec 200 board with ARM946E processor. I am trying to connect my PC to the board using Amontec JTAGkey debugger, however, when I tried to initialize openocd, the following error occur:

C:\PNIODevKit3\OpenOcdDebug\openocd -f eb200_debug.cfg -c “init” -c “reset”

Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.berlios.de/doc/doxygen/bugs.html

jtag_nsrst_delay: 200

jtag_ntrst_delay: 0

trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain

fast memory access is enabled

dcc downloads are enabled

force hard breakpoints

info : RCLK (adaptive clock speed) not supported - fallback to 16 kHz

Error: JTAG scan chain interrogation failed: all zeroes

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

Error: JTAG scan chain interrogation failed: all zeroes

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

Command handler execution failed

Warn: JTAG initialization failed; try ‘jtag init’ again.

RCLK not supported - fallback to 16 kHz

Error: JTAG scan chain interrogation failed: all zeroes

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

error: -100

Command handler execution failed

I have been looking all over the internet and forums, however I cannot find any solution that is applicable to my case. There is no explanation about the meaning behind error: -100.

I hope I can get help from this forum. Is there any idea on what should I check first to solve this problem?

My development environment is windows 7, and I use libusb-win32 ft2232 driver for the amontec JTAGkey debugger. Below are the .cfg code that I use

openocd 0.2.0 script for EB200 Siemens ERTEC Profinet Dev Kits

set ports

telnet_port 4444

gdb_port 3333

#interface/ Dongle configuration

interface ft2232

ft2232_device_desc “Amontec JTAGkey”

ft2232_layout jtagkey

ft2232_vid_pid 0x0403 0xcff8

jtag_nsrst_delay 200

jtag_ntrst_delay 0

if { [info exists CHIPNAME] } {

set _CHIPNAME $CHIPNAME

} else {

set _CHIPNAME ertec

}

if { [info exists ENDIAN] } {

set _ENDIAN $ENDIAN

} else {

set _ENDIAN little

}

if { [info exists CPUTAPID ] } {

set _CPUTAPID $CPUTAPID

} else {

force an error till we get a good number

set _CPUTAPID 0x15946021

}

jtag speed. We need to stick to 16kHz until we’ve finished reset.

#jtag_rclk 16

jtag_khz 16

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

reset_config trst_and_srst

#jtag scan chain

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

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

#target configuration

set _TARGETNAME [format “%s.cpu” $_CHIPNAME]

target create $_TARGETNAME arm9tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm946t

speed up memory downloads

arm7_9 fast_memory_access enable

arm7_9 dcc_downloads enable

#workaround: HW breakpoints

gdb_breakpoint_override hard

#flash driver

not available

#optional enable workspace (we use last 64 k of uncashed SDRAM in EB200), to speed up JTAG tool.

$_TARGETNAME configure -work-area-phys 0x207F0000 -work-area-size 0x10000 -work-area-backup 1

$_TARGETNAME configure -event reset-start { jtag_rclk 16 }

$_TARGETNAME configure -event reset-init {

We can increase speed now that we know the target is halted.

jtag_rclk 3000

puts “Running reset init script for EBx00 Board”

Init values

mww 0x70000004 0x40000080 # Async Wait Cycle Config

mww 0x7000000C 0x00000320 # SDRAM Refresh Control

mww 0x70000010 0x04622311 # Async Bank 0 Config (16 bit flash)

mww 0x70000014 0x04622312 # Async Bank 1 Config (SRAM)

mww 0x70000018 0x04622312 # Async Bank 2 Config (CPLD)

mww 0x7000001C 0x44622312 # Async Bank 3 Config (FPGA)

mww 0x70000020 0x03030000 # Extended Config

mww 0x70000008 0x00000521 # SDRAM Bank Config

#Memory Swap => SDRAM at address 0x00 to set vectors

mww 0x40002644 0x00000001 # MEM_SWAP

}

$_TARGETNAME configure -event debug-halted {

puts “Running debug halted script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-attach {

puts “Running gdb-attach script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-detach {

puts “Running gdb-detach script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-flash-erase-start {

puts “Running gdb-flash-erase-start script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-flash-erase-end {

puts “Running gdb-flash-erase-end script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-start {

puts “Running gdb_start script for EBx00 Board”

}

$_TARGETNAME configure -event gdb-end {

puts “Running gdb_halted script for EBx00 Board”

}

Hi all,

I’m sorry for the trouble, but apparently the cause of this problem is because of hardware failure. The JTAG connection cannot detect the presence of the board and hence, the aforementioned problem occurs.

Cheers!