how to make OPENOCD support new cpu?

Hi:

Thanks for every reply in the forum.

My board’s cpu is SPARC. and the jtag TAP is designed by ourself. I plan to play the board with OPENOCD with Amontec JTAGkey cable. I recompile OPENOCD with “–enable-ft2232_libftdi”, and run " openocd -d -f /tcl/interface/jtagkey.cfg", the result is as following. it seems that IR length is not probed correct and no TAP found. My JTAG IR length is 8. and IR command for address issue is 2 and for data issue is 3.

I think it may be different from ARM , and others.

who can help me to update OPENOCD to support my SPARC.


Open On-Chip Debugger 0.4.0 (2010-09-08-05:41)

Licensed under GNU GPL v2

For bug reports, read

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

User : 10 2 command.c:539 command_print(): debug_level: 3

Debug: 11 2 configuration.c:45 add_script_search_dir(): adding /home/kenichi/.openocd

Debug: 12 2 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/site

Debug: 13 2 configuration.c:45 add_script_search_dir(): adding /usr/local/share/openocd/scripts

Debug: 14 2 configuration.c:87 find_file(): found …/tcl/interface/jtagkey.cfg

Debug: 15 2 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_interface ft2232

Debug: 16 2 command.c:133 script_debug(): command - interface ocd_interface ft2232

Debug: 18 2 command.c:346 register_command_handler(): registering ‘ocd_ft2232_device_desc’…

Debug: 19 2 command.c:346 register_command_handler(): registering ‘ocd_ft2232_serial’…

Debug: 20 3 command.c:346 register_command_handler(): registering ‘ocd_ft2232_layout’…

Debug: 21 3 command.c:346 register_command_handler(): registering ‘ocd_ft2232_vid_pid’…

Debug: 22 3 command.c:346 register_command_handler(): registering ‘ocd_ft2232_latency’…

Debug: 23 3 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_ft2232_device_desc Amontec JTAGkey

Debug: 24 3 command.c:133 script_debug(): command - ft2232_device_desc ocd_ft2232_device_desc Amontec JTAGkey

Debug: 26 3 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_ft2232_layout jtagkey

Debug: 27 3 command.c:133 script_debug(): command - ft2232_layout ocd_ft2232_layout jtagkey

Debug: 29 3 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_ft2232_vid_pid 0x0403 0xcff8

Debug: 30 3 command.c:133 script_debug(): command - ft2232_vid_pid ocd_ft2232_vid_pid 0x0403 0xcff8

Debug: 32 3 httpd_stubs.c:28 httpd_start(): libocdserver was built without HTTPD support

Debug: 33 3 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_init

Debug: 34 3 command.c:133 script_debug(): command - init ocd_init

Debug: 36 3 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_target init

Debug: 37 3 command.c:133 script_debug(): command - ocd_target ocd_target init

Debug: 39 3 target.c:835 handle_target_init_command(): Initializing targets…

Debug: 40 3 ft2232.c:2097 ft2232_init(): ft2232 interface using shortest path jtag state transitions

Debug: 41 3 ft2232.c:2011 ft2232_init_libftdi(): ‘ft2232’ interface using libftdi with ‘jtagkey’ layout (0403:cff8)

Debug: 42 143 ft2232.c:2055 ft2232_init_libftdi(): current latency timer: 2

Debug: 43 144 ft2232.c:2066 ft2232_init_libftdi(): FTDI chip type: 2 “2232C”

Debug: 44 144 ft2232.c:2361 jtagkey_init(): 80 08 1b

Debug: 45 145 ft2232.c:2420 jtagkey_init(): 82 09 0f

Debug: 46 146 ft2232.c:523 ft2232_speed(): 86 00 00

Info : 47 150 core.c:1350 jtag_interface_init(): clock speed 6000 kHz

Debug: 48 150 openocd.c:122 handle_init_command(): jtag interface init complete

Debug: 49 150 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_jtag init

Debug: 50 150 command.c:133 script_debug(): command - ocd_jtag ocd_jtag init

Debug: 52 150 tcl.c:854 handle_jtag_init_command(): Initializing jtag devices…

Debug: 53 150 ft2232.c:1326 jtagkey_reset(): trst: 0, srst: 0, high_output: 0x09, high_direction: 0x0f

Debug: 54 151 core.c:672 jtag_add_reset(): SRST line released

Debug: 55 151 core.c:697 jtag_add_reset(): TRST line released

Debug: 56 151 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 57 151 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init

Debug: 58 151 command.c:133 script_debug(): command - ocd_jtag ocd_jtag arp_init

Debug: 59 151 core.c:1364 jtag_init_inner(): Init JTAG chain

Warn : 60 151 core.c:1380 jtag_init_inner(): There are no enabled taps. AUTO PROBING MIGHT NOT WORK!!

Debug: 61 151 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 62 152 core.c:1017 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS

Debug: 63 152 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Warn : 64 156 core.c:1118 jtag_examine_chain(): AUTO auto0.tap - use “jtag newtap auto0 tap -expected-id 0x00000000 …”

Debug: 65 156 core.c:1300 jtag_tap_init(): Created Tap: auto0.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 66 156 core.c:1118 jtag_examine_chain(): AUTO auto1.tap - use “jtag newtap auto1 tap -expected-id 0x00000000 …”

Debug: 67 156 core.c:1300 jtag_tap_init(): Created Tap: auto1.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 68 156 core.c:1118 jtag_examine_chain(): AUTO auto2.tap - use “jtag newtap auto2 tap -expected-id 0x00000000 …”

Debug: 69 156 core.c:1300 jtag_tap_init(): Created Tap: auto2.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 70 156 core.c:1118 jtag_examine_chain(): AUTO auto3.tap - use “jtag newtap auto3 tap -expected-id 0xe4020061 …”

Debug: 71 156 core.c:1300 jtag_tap_init(): Created Tap: auto3.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 72 156 core.c:1118 jtag_examine_chain(): AUTO auto4.tap - use “jtag newtap auto4 tap -expected-id 0xe000001f …”

Debug: 73 156 core.c:1300 jtag_tap_init(): Created Tap: auto4.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 74 156 core.c:1118 jtag_examine_chain(): AUTO auto5.tap - use “jtag newtap auto5 tap -expected-id 0xe000001f …”

Debug: 75 156 core.c:1300 jtag_tap_init(): Created Tap: auto5.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 76 156 core.c:1118 jtag_examine_chain(): AUTO auto6.tap - use “jtag newtap auto6 tap -expected-id 0xe000001f …”

Debug: 77 156 core.c:1300 jtag_tap_init(): Created Tap: auto6.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 78 156 core.c:1118 jtag_examine_chain(): AUTO auto7.tap - use “jtag newtap auto7 tap -expected-id 0xe000001f …”

Debug: 79 156 core.c:1300 jtag_tap_init(): Created Tap: auto7.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 80 156 core.c:1118 jtag_examine_chain(): AUTO auto8.tap - use “jtag newtap auto8 tap -expected-id 0xe000001f …”

Debug: 81 156 core.c:1300 jtag_tap_init(): Created Tap: auto8.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 82 156 core.c:1118 jtag_examine_chain(): AUTO auto9.tap - use “jtag newtap auto9 tap -expected-id 0xe000001f …”

Debug: 83 156 core.c:1300 jtag_tap_init(): Created Tap: auto9.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 84 156 core.c:1118 jtag_examine_chain(): AUTO auto10.tap - use “jtag newtap auto10 tap -expected-id 0xe000001f …”

Debug: 85 156 core.c:1300 jtag_tap_init(): Created Tap: auto10.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 86 156 core.c:1118 jtag_examine_chain(): AUTO auto11.tap - use “jtag newtap auto11 tap -expected-id 0xe000001f …”

Debug: 87 157 core.c:1300 jtag_tap_init(): Created Tap: auto11.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 88 157 core.c:1118 jtag_examine_chain(): AUTO auto12.tap - use “jtag newtap auto12 tap -expected-id 0xe000001f …”

Debug: 89 157 core.c:1300 jtag_tap_init(): Created Tap: auto12.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 90 157 core.c:1118 jtag_examine_chain(): AUTO auto13.tap - use “jtag newtap auto13 tap -expected-id 0xe000001f …”

Debug: 91 157 core.c:1300 jtag_tap_init(): Created Tap: auto13.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 92 157 core.c:1118 jtag_examine_chain(): AUTO auto14.tap - use “jtag newtap auto14 tap -expected-id 0xe000001f …”

Debug: 93 157 core.c:1300 jtag_tap_init(): Created Tap: auto14.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 94 157 core.c:1118 jtag_examine_chain(): AUTO auto15.tap - use “jtag newtap auto15 tap -expected-id 0xe000001f …”

Debug: 95 157 core.c:1300 jtag_tap_init(): Created Tap: auto15.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 96 157 core.c:1118 jtag_examine_chain(): AUTO auto16.tap - use “jtag newtap auto16 tap -expected-id 0xe000001f …”

Debug: 97 157 core.c:1300 jtag_tap_init(): Created Tap: auto16.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 98 157 core.c:1118 jtag_examine_chain(): AUTO auto17.tap - use “jtag newtap auto17 tap -expected-id 0xe000001f …”

Debug: 99 157 core.c:1300 jtag_tap_init(): Created Tap: auto17.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 100 157 core.c:1118 jtag_examine_chain(): AUTO auto18.tap - use “jtag newtap auto18 tap -expected-id 0xe000001f …”

Debug: 101 157 core.c:1300 jtag_tap_init(): Created Tap: auto18.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 102 157 core.c:1118 jtag_examine_chain(): AUTO auto19.tap - use “jtag newtap auto19 tap -expected-id 0xe000001f …”

Debug: 103 157 core.c:1300 jtag_tap_init(): Created Tap: auto19.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 104 157 core.c:1118 jtag_examine_chain(): AUTO auto20.tap - use “jtag newtap auto20 tap -expected-id 0xe000001f …”

Debug: 105 157 core.c:1300 jtag_tap_init(): Created Tap: auto20.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Warn : 106 157 core.c:1118 jtag_examine_chain(): AUTO auto21.tap - use “jtag newtap auto21 tap -expected-id 0xe000001f …”

Debug: 107 157 core.c:1300 jtag_tap_init(): Created Tap: auto21.tap @ abs position 0, irlen 0, capture: 0x1 mask: 0x3

Debug: 108 157 core.c:1182 jtag_validate_ircapture(): IR capture validation scan

Warn : 109 161 core.c:1220 jtag_validate_ircapture(): AUTO auto0.tap - use “… -irlen 2”

Error: 110 161 core.c:1237 jtag_validate_ircapture(): auto0.tap: IR capture error; saw 0x0000 not 0x0001

Debug: 111 161 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 112 162 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init-reset

Debug: 113 162 command.c:133 script_debug(): command - ocd_jtag ocd_jtag arp_init-reset

Debug: 114 162 core.c:1451 jtag_init_reset(): Initializing with hard TRST+SRST reset

Debug: 115 162 core.c:685 jtag_add_reset(): JTAG reset with TLR instead of TRST

Debug: 116 162 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 117 163 core.c:1364 jtag_init_inner(): Init JTAG chain

Debug: 118 163 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 119 164 core.c:1017 jtag_examine_chain(): DR scan interrogation for IDCODE/BYPASS

Debug: 120 164 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Info : 121 167 core.c:1040 jtag_examine_chain(): TAP auto0.tap does not have IDCODE

Info : 122 167 core.c:1040 jtag_examine_chain(): TAP auto1.tap does not have IDCODE

Info : 123 167 core.c:1040 jtag_examine_chain(): TAP auto2.tap does not have IDCODE

Info : 124 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto3.tap tap/device found: 0xe4020061 (mfg: 0x030, part: 0x4020, ver: 0xe)

Info : 125 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto4.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 126 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto5.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 127 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto6.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 128 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto7.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 129 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto8.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 130 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto9.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 131 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto10.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 132 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto11.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 133 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto12.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 134 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto13.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 135 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto14.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 136 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto15.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 137 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto16.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 138 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto17.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 139 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto18.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 140 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto19.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 141 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto20.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Info : 142 167 core.c:917 jtag_examine_chain_display(): JTAG tap: auto21.tap tap/device found: 0xe000001f (mfg: 0x00f, part: 0x0000, ver: 0xe)

Debug: 143 167 core.c:1182 jtag_validate_ircapture(): IR capture validation scan

Error: 144 172 core.c:1237 jtag_validate_ircapture(): auto0.tap: IR capture error; saw 0x0000 not 0x0001

Debug: 145 172 core.c:321 jtag_call_event_callbacks(): jtag event: TAP reset

Debug: 146 173 command.c:620 run_command(): Command failed with error code -4

User : 147 173 command.c:824 openocd_jim_vfprintf(): Command handler execution failed

User : 150 173 command.c:824 openocd_jim_vfprintf():

User : 152 173 command.c:824 openocd_jim_vfprintf():

Warn : 153 173 openocd.c:138 handle_init_command(): jtag initialization failed; try ‘jtag init’ again.

Debug: 154 173 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_flash init

Debug: 155 173 command.c:133 script_debug(): command - ocd_flash ocd_flash init

Debug: 157 173 tcl.c:920 handle_flash_init_command(): Initializing flash devices…

Debug: 158 183 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_mflash init

Debug: 159 183 command.c:133 script_debug(): command - ocd_mflash ocd_mflash init

Debug: 161 183 mflash.c:1325 handle_mflash_init_command(): Initializing mflash devices…

Debug: 162 183 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_nand init

Debug: 163 183 command.c:133 script_debug(): command - ocd_nand ocd_nand init

Debug: 165 183 tcl.c:536 handle_nand_init_command(): Initializing NAND devices…

Debug: 166 183 command.c:133 script_debug(): command - ocd_command ocd_command type ocd_pld init

Debug: 167 183 command.c:133 script_debug(): command - ocd_pld ocd_pld init

Debug: 169 183 pld.c:231 handle_pld_init_command(): Initializing PLDs…

Warn : 170 183 gdb_server.c:2408 gdb_target_add_all(): gdb services need one or more targets defined