Hello list,

I'm new to OpenOCD. Now I'm trying to make the config files for our new
eval board which use the ARM926EJS core. Many problems come up that I
can't solve alone.

Environment:
Eval Board and CPU core is ARM926EJS.
JTAG Adapter is a OpenJTAG compatible one (USB<=>JTAG).
Debian(etch).
OpenOCD is the lastest version from svnroot.

First please have a look my config files:

### interface.cfg ###
interface ft2232
jtag_speed 0
ft2232_vid_pid 0x1457 0x5118
ft2232_layout "jtagkey_prototype_v1"
ft2232_device_desc "USB<=>JTAG&RS232"

### flash.cfg ###
# flash bank <driver> <base> <size> <chip_width> <bus_width> <target#> 
flash bank cfi 0x10000000 0x01000000 2 2 0

### target.cfg ###
reset_config trst_and_srst

if { [info exists CHIPNAME] } { 
   set  _CHIPNAME $CHIPNAME    
} else { 
   set  _CHIPNAME arm926ejs
}

if { [info exists ENDIAN] } { 
   set  _ENDIAN $ENDIAN    
} else { 
   set  _ENDIAN little
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
# From ARM926EJS Tech Ref Manual
   set _CPUTAPID 0x07926F0F
}

if { [info exists FLASHTAPID ] } {
   set _CPUTAPID $FLASHTAPID
}

if { [info exists BSTAPID ] } {
   set _CPUTAPID $BSTAPID
}

# cpu tap
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf
-expected-id $_CPUTAPID
# flash tap
#jtag newtap $_CHIPNAME flash -irlen 4 -ircapture 0x1 -irmask 0xf
# bs tap
#jtag newtap $_CHIPNAME bs -irlen 4 -ircapture 0x1 -irmask 0xf
-expected-id $_BSTAPID

set _TARGETNAME [format "%s.cpu" $_CHIPNAME]

# target create <NAME> <TYPE> <PARAMS ...>
target create  $_TARGETNAME arm926ejs \
       -endian $_ENDIAN \
       -chain-position $_TARGETNAME \
       -variant arm926ejs

jtag_nsrst_delay 200
jtag_ntrst_delay 200

### board.cfg ###

debug_level 3
telnet_port 3333
gdb_port 4444

source [find config/interface.cfg]
source [find config/target.cfg]
source [find config/flash.cfg]

$_TARGETNAME configure -event reset-init {

# needed and whats it, its from board datasheet register part??
mww 0x72000000 0x00000021 # Memory Interface Config
mww 0x72000004 0x00000020 # DRAM Param Config
mww 0x72000010 0x322b8e83 # DRAM Timing Param 0
mww 0x72000014  0x140F10C8 # DRAM Timing Param 1
mww 0x72000018 0x0007030D # DRAM Timing Param 2
mww 0x72000030 0x00000030 # DDQ Output Delay Control(DDR only)

#
# Bank 0 at 0x10000000
# Bank 1 at 0x11000000
# Bank 2 at 0x12000000
# Bank 3 at 0x13000000
#
mww 0x73000000 0x00000000 # Mem Bank 0 Config

mww 0x76000000 0x00000000 # Remap ?
# whats it
flash probe 0
}

$_TARGETNAME configure \
-work-area-phys 0x300000 \
-work-area-size 65536 \
-work-area-backup 0


That's all my current file. When I run openocd, I got following output
and I'm sure something must be wrong.

### output.log ###
c...@cj:~/openocd/bin$ sudo ./openocd -f board.cfg
Open On-Chip Debugger 0.2.0-in-development (2009-05-26-10:57) svn:1913M


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
Debug: 6 0 command.c:88 script_command(): script_command - telnet_port
Debug: 7 0 command.c:105 script_command(): script_command - telnet_port,
argv[0]=ocd_telnet_port
Debug: 8 0 command.c:105 script_command(): script_command - telnet_port,
argv[1]=3333
Debug: 10 0 command.c:88 script_command(): script_command - gdb_port
Debug: 11 0 command.c:105 script_command(): script_command - gdb_port,
argv[0]=ocd_gdb_port
Debug: 12 0 command.c:105 script_command(): script_command - gdb_port,
argv[1]=4444
Debug: 13 1 configuration.c:83 find_file(): found config/interface.cfg
Debug: 15 1 command.c:88 script_command(): script_command - interface
Debug: 16 1 command.c:105 script_command(): script_command - interface,
argv[0]=ocd_interface
Debug: 17 1 command.c:105 script_command(): script_command - interface,
argv[1]=ft2232
Debug: 19 1 command.c:88 script_command(): script_command - jtag_speed
Debug: 20 1 command.c:105 script_command(): script_command - jtag_speed,
argv[0]=ocd_jtag_speed
Debug: 21 1 command.c:105 script_command(): script_command - jtag_speed,
argv[1]=0
Debug: 22 1 jtag.c:2767 handle_jtag_speed_command(): handle jtag speed
User : 23 1 command.c:380 command_print(): jtag_speed: 0
Debug: 25 1 command.c:88 script_command(): script_command -
ft2232_vid_pid
Debug: 26 1 command.c:105 script_command(): script_command -
ft2232_vid_pid, argv[0]=ocd_ft2232_vid_pid
Debug: 27 1 command.c:105 script_command(): script_command -
ft2232_vid_pid, argv[1]=0x1457
Debug: 28 1 command.c:105 script_command(): script_command -
ft2232_vid_pid, argv[2]=0x5118
Debug: 30 8 command.c:88 script_command(): script_command -
ft2232_layout
Debug: 31 8 command.c:105 script_command(): script_command -
ft2232_layout, argv[0]=ocd_ft2232_layout
Debug: 32 8 command.c:105 script_command(): script_command -
ft2232_layout, argv[1]=jtagkey_prototype_v1
Debug: 34 8 command.c:88 script_command(): script_command -
ft2232_device_desc
Debug: 35 9 command.c:105 script_command(): script_command -
ft2232_device_desc, argv[0]=ocd_ft2232_device_desc
Debug: 36 9 command.c:105 script_command(): script_command -
ft2232_device_desc, argv[1]=USB<=>JTAG&RS232
Debug: 37 9 configuration.c:83 find_file(): found config/target.cfg
Debug: 39 9 command.c:88 script_command(): script_command - reset_config
Debug: 40 9 command.c:105 script_command(): script_command -
reset_config, argv[0]=ocd_reset_config
Debug: 41 9 command.c:105 script_command(): script_command -
reset_config, argv[1]=trst_and_srst
Debug: 42 9 command.c:105 script_command(): script_command -
reset_config, argv[2]=srst_pulls_trst
Debug: 43 9 jtag.c:2033 jim_newtap_cmd(): Creating New Tap, Chip:
arm926ejs, Tap: cpu, Dotted: arm926ejs.cpu, 8 params
Debug: 44 9 jtag.c:2052 jim_newtap_cmd(): Processing option: -irlen
Debug: 45 9 jtag.c:2052 jim_newtap_cmd(): Processing option: -ircapture
Debug: 46 9 jtag.c:2052 jim_newtap_cmd(): Processing option: -irmask
Debug: 47 9 jtag.c:2052 jim_newtap_cmd(): Processing option:
-expected-id
Debug: 48 9 jtag.c:2165 jim_newtap_cmd(): Created Tap: arm926ejs.cpu @
abs position 0, irlen 4, capture: 0x1 mask: 0xf
Debug: 49 9 target.c:3969 jim_target(): Target command params:
Debug: 50 9 target.c:3970 jim_target(): target create arm926ejs.cpu
arm926ejs -endian little -chain-position arm926ejs.cpu -variant
arm926ejs
Debug: 52 10 command.c:88 script_command(): script_command -
jtag_nsrst_delay
Debug: 53 10 command.c:105 script_command(): script_command -
jtag_nsrst_delay, argv[0]=ocd_jtag_nsrst_delay
Debug: 54 10 command.c:105 script_command(): script_command -
jtag_nsrst_delay, argv[1]=200
Debug: 56 10 command.c:88 script_command(): script_command -
jtag_ntrst_delay
Debug: 57 10 command.c:105 script_command(): script_command -
jtag_ntrst_delay, argv[0]=ocd_jtag_ntrst_delay
Debug: 58 10 command.c:105 script_command(): script_command -
jtag_ntrst_delay, argv[1]=200
Debug: 59 10 configuration.c:83 find_file(): found config/flash.cfg
Debug: 61 11 command.c:88 script_command(): script_command - bank
Debug: 62 11 command.c:105 script_command(): script_command - bank,
argv[0]=ocd_flash_bank
Debug: 63 11 command.c:105 script_command(): script_command - bank,
argv[1]=cfi
Debug: 64 11 command.c:105 script_command(): script_command - bank,
argv[2]=0x10000000
Debug: 65 11 command.c:105 script_command(): script_command - bank,
argv[3]=0x01000000
Debug: 66 31 command.c:105 script_command(): script_command - bank,
argv[4]=2
Debug: 67 31 command.c:105 script_command(): script_command - bank,
argv[5]=2
Debug: 68 31 command.c:105 script_command(): script_command - bank,
argv[6]=0
User : 70 31 command.c:493 command_run_line():
Debug: 72 31 command.c:88 script_command(): script_command - init
Debug: 73 31 command.c:105 script_command(): script_command - init,
argv[0]=ocd_init
Debug: 74 32 openocd.c:131 handle_init_command(): target init complete
Debug: 75 32 ft2232.c:1981 ft2232_init(): ft2232 interface using
shortest path jtag state transitions
Debug: 76 32 ft2232.c:1900 ft2232_init_libftdi(): 'ft2232' interface
using libftdi with 'jtagkey_prototype_v1' layout (1457:5118)
Debug: 77 81 ft2232.c:1944 ft2232_init_libftdi(): current latency timer:
2
Debug: 78 84 ft2232.c:2215 jtagkey_init(): 80 08 1b
Debug: 79 87 ft2232.c:2273 jtagkey_init(): 82 06 0f
Debug: 80 90 ft2232.c:422 ft2232_speed(): 86 00 00
Debug: 81 112 openocd.c:138 handle_init_command(): jtag interface init
complete
Debug: 82 112 jtag.c:2387 jtag_init_inner(): Init JTAG chain
Debug: 83 112 jtag.c:413 jtag_call_event_callbacks(): jtag event: JTAG
controller reset (RESET or TRST)
Debug: 84 112 jtag.c:1630 jtag_reset_callback(): -
Debug: 85 112 jtag.c:413 jtag_call_event_callbacks(): jtag event: JTAG
controller reset (RESET or TRST)
Debug: 86 112 jtag.c:1630 jtag_reset_callback(): -
Error: 87 118 jtag.c:1685 jtag_examine_chain(): JTAG communication
failure, check connection, JTAG interface, target power etc.
Error: 88 118 jtag.c:2402 jtag_init_inner(): trying to validate
configured JTAG chain anyway...
Debug: 89 118 jtag.c:413 jtag_call_event_callbacks(): jtag event: JTAG
controller reset (RESET or TRST)
Debug: 90 118 jtag.c:1630 jtag_reset_callback(): -
Error: 91 122 jtag.c:1861 jtag_validate_chain(): Could not validate JTAG
scan chain, IR mismatch, scan returned 0x00. tap=arm926ejs.cpu pos=0
expected 0x1 got 0
Warn : 92 128 jtag.c:2407 jtag_init_inner(): Could not validate JTAG
chain, continuing anyway...
Debug: 93 128 openocd.c:144 handle_init_command(): jtag init complete
Warn : 94 147 jtag.c:1473 jtag_check_value_inner(): value captured
during scan didn't pass the requested check:
Warn : 95 147 jtag.c:1475 jtag_check_value_inner(): captured: 0x00
check_value: 0x01 check_mask: 0x0F
Debug: 96 148 openocd.c:153 handle_init_command(): flash init complete
Debug: 97 148 openocd.c:157 handle_init_command(): mflash init complete
Debug: 98 148 openocd.c:161 handle_init_command(): NAND init complete
Debug: 99 148 openocd.c:165 handle_init_command(): pld init complete
Debug: 100 148 gdb_server.c:2215 gdb_init(): gdb service for target
arm926ejs at port 4444
Debug: 101 148 tcl_server.c:168 tcl_init(): no tcl port specified, using
default port 6666


The init chain lines show the faliure but I've no idea why. I'm not
familiar with OpenOCD and its config things. The config files is also
from $INSTALLDIR/lib/openocd/... and with just a few changes(at
interface and flash part).

The questions as below:

Are there somethings wrong in those files?
When reset-init will be called and what's the function? How can I know I
need this? From core's datasheet?

Any help is appreciated. Thanks in advance.

--
ZJ


_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to