On Sun, Aug 14, 2011 at 10:29 PM, Eric Wetzel <thewet...@gmail.com> wrote: > On Sun, Aug 14, 2011 at 9:01 PM, Xiaofan Chen <xiaof...@gmail.com> wrote: >> On Mon, Aug 15, 2011 at 5:26 AM, Jean-Christophe PLAGNIOL-VILLARD >> <plagn...@jcrosoft.com> wrote: >>> On 12:04 Sat 13 Aug , Carlson Gary wrote: >>>> Hi Eric, >>>> >>>> I have worked a little on the jlink stuff in the past and fixed a few >>>> problems with OpenOCD. I have a new project that is going to force me to >>>> buy an unrestricted Segger very shortly since my current jlink dongles are >>>> Atmel-only devices. Once I get my hands on a new one, I hopefully will be >>>> able to take a look at this problem also. >>>> >>>> I will try to contact Segger on Monday to see if they can shine some light >>>> on V8 communication details. I suspect whatever is wrong is probably >>>> minor, >>>> but will take a little persistence to identify a solution. >>> I already contract Segger this year and their answer are we change nothing >>> >>> I put segger in Cc this time on the ML hope you will work with us to >>> improve >>> J-Link support on OpenOCD >>> >> >> To be fair to Segger, I think they do not intentionally change anything in >> the firmware. After all, the firmware needs to be compatible with their own >> utility under Windows and Linux. On the other hand, they probably did >> not test OpenOCD since that was not their focus. >> >> From the usbmon log, Segger's Linux utility are consistent through >> different versions of J-Link. The main issue is that OpenOCD's J-Link >> initialization sequence is not the same as Segger's utility, as shown >> in Eric's previous email. I think Gary is probably correct that >> "whatever is wrong (in OpenOCD) is probably minor". >> > > After piles of debugging today, I have determined that command 0x09 is > EMU_CMD_REGISTER, which is undocumented in the J-Link USB Protocol > manual. I don't know what parameters it sends or what data it > receives. In addition, there are plenty of commands from the > Capabilities table that are undocumented: EMU_CMD_RAWTRACE, > EMU_CMD_TEST_NET_SPEED, EMU_CMD_INDICATORS, EMU_CMD_REGISTER, > EMU_CMD_FILE_IO, EMU_CMD_UPDATE_FIRMWARE_EX, EMU_CMD_WRITE_DCC_EX, > EMU_CMD_SWO, and EMU_CMD_READ_DCC. > > Regarding OpenOCD's J-Link initialiation sequence, I was going to > start trying some things out, changing the order of some commands to > make it more like Segger's, adding some of the missing ones (like > EMU_CMD_GET_COUNTERS; Segger uses it, but I don't think OpenOCD does). > I also noticed that where the usb_bulk_reads start to fail is when we > start to issue EMU_CMD_HW_JTAG3; from Xiaofan's log above: > Debug: 277 507 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset > Debug: 278 510 jlink.c:1654 jlink_debug_buffer(): 0000 cf 00 07 00 7f 00 > Debug: 279 511 jlink.c:1654 jlink_debug_buffer(): 0000 7f > Debug: 280 514 jlink.c:1654 jlink_debug_buffer(): 0000 00 > Debug: 281 514 core.c:1435 jtag_init_inner(): Init JTAG chain > Debug: 282 514 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset > Debug: 283 515 jlink.c:1654 jlink_debug_buffer(): 0000 cf 00 07 00 7f 00 > Error: 284 518 jlink.c:1504 jlink_usb_message(): usb_bulk_read failed > (requested=1, result=0) > Error: 285 518 jlink.c:1367 jlink_tap_execute(): jlink_tap_execute, > wrong result -107 (expected 1) > > Odd that the command succeeds, but sending the very same command again > fails. I had a hunch that perhaps it's a data length thing in the V8 > firmware. All of Segger's EMU_CMD_HW_JTAG3 commands are on the order > of 194 bytes long, and we are sending command sequences that are less > than 8 bits. There's already some funky behavior noted in the code for > when J-Link returns an extra NULL when the incoming message size is a > multiple of 64. It wouldn't be unprecedented, but I haven't > investigated it yet. > > Well, that's a day's work for me. > I tried query more parts of the hardware before I tried issuing JTAG commands today, but to no avail. I studied the information that Segger retrieves from the device and reordered it, removing repeats. The commands that I thought actually DO something I tried to keep in the same order and issue them before sending JTAG commands: EMU_CMD_SELECT_IF, deassert resets, set a reasonable clock speed (Segger sets 4 kHz and 100 kHz, alternately). Here is a log: Debug: 227 108 jlink.c:1608 jlink_usb_open(): usb ep in 81 Debug: 228 108 jlink.c:1608 jlink_usb_open(): usb ep out 02 Info : 229 108 jlink.c:431 jlink_init(): J-Link initialization started / target CPU reset initiated Debug: 230 109 jlink.c:1793 jlink_debug_buffer(): 0000 01 Debug: 231 109 jlink.c:1793 jlink_debug_buffer(): 0000 70 00 Debug: 232 109 jlink.c:1793 jlink_debug_buffer(): 0000 4a 2d 4c 69 6e 6b 20 41 52 4d 20 56 38 20 63 6f Debug: 233 110 jlink.c:1793 jlink_debug_buffer(): 0010 6d 70 69 6c 65 64 20 4a 75 6c 20 32 36 20 32 30 Debug: 234 110 jlink.c:1793 jlink_debug_buffer(): 0020 31 31 20 31 37 3a 33 31 3a 32 34 00 43 6f 70 79 Debug: 235 110 jlink.c:1793 jlink_debug_buffer(): 0030 72 69 67 68 74 20 32 30 30 33 2d 32 30 30 39 20 Debug: 236 110 jlink.c:1793 jlink_debug_buffer(): 0040 53 45 47 47 45 52 3a 20 77 77 77 2e 73 65 67 67 Debug: 237 110 jlink.c:1793 jlink_debug_buffer(): 0050 65 72 2e 63 6f 6d 00 00 00 00 00 00 00 00 00 00 Debug: 238 110 jlink.c:1793 jlink_debug_buffer(): 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Info : 239 110 jlink.c:865 jlink_get_version_info(): J-Link ARM V8 compiled Jul 26 2011 17:31:24 Debug: 240 111 jlink.c:1793 jlink_debug_buffer(): 0000 e8 Debug: 241 111 jlink.c:1793 jlink_debug_buffer(): 0000 bf 7b ff b9 Info : 242 111 jlink.c:878 jlink_get_version_info(): J-Link caps 0xb9ff7bbf Debug: 243 111 jlink.c:1793 jlink_debug_buffer(): 0000 ed Debug: 244 112 jlink.c:1793 jlink_debug_buffer(): 0000 bf 7b ff b9 9d 1f 00 00 00 00 00 00 00 00 00 00 Debug: 245 112 jlink.c:1793 jlink_debug_buffer(): 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Info : 246 112 jlink.c:891 jlink_get_version_info(): J-Link extended caps 0xb9ff7bbf Debug: 247 113 jlink.c:1793 jlink_debug_buffer(): 0000 e6 Debug: 248 113 jlink.c:1793 jlink_debug_buffer(): 0000 74 fb 6a 09 ff ff ff ff ff ff ff ff ff ff ff ff Debug: 249 113 jlink.c:1793 jlink_debug_buffer(): 0010 49 41 52 00 ff ff ff ff ff ff ff ff ff ff ff ff Debug: 250 113 jlink.c:1793 jlink_debug_buffer(): 0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 251 114 jlink.c:1793 jlink_debug_buffer(): 0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 252 114 jlink.c:1793 jlink_debug_buffer(): 0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 253 114 jlink.c:1793 jlink_debug_buffer(): 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 254 114 jlink.c:1793 jlink_debug_buffer(): 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 255 114 jlink.c:1793 jlink_debug_buffer(): 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 256 115 jlink.c:1793 jlink_debug_buffer(): 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 257 115 jlink.c:1793 jlink_debug_buffer(): 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 258 115 jlink.c:1793 jlink_debug_buffer(): 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 259 115 jlink.c:1793 jlink_debug_buffer(): 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 260 115 jlink.c:1793 jlink_debug_buffer(): 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 261 116 jlink.c:1793 jlink_debug_buffer(): 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 262 116 jlink.c:1793 jlink_debug_buffer(): 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 263 116 jlink.c:1793 jlink_debug_buffer(): 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Info : 264 116 jlink.c:904 jlink_get_version_info(): J-Link serial number: 158006132 Info : 265 116 jlink.c:905 jlink_get_version_info(): J-Link OEM: IAR Debug: 266 117 jlink.c:1793 jlink_debug_buffer(): 0000 f2 Debug: 267 117 jlink.c:1793 jlink_debug_buffer(): 0000 00 01 ff ff 00 00 00 00 ff ff ff ff ff ff ff ff Debug: 268 117 jlink.c:1793 jlink_debug_buffer(): 0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 269 117 jlink.c:1793 jlink_debug_buffer(): 0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 270 117 jlink.c:1793 jlink_debug_buffer(): 0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 271 118 jlink.c:1793 jlink_debug_buffer(): 0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 272 118 jlink.c:1793 jlink_debug_buffer(): 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 273 118 jlink.c:1793 jlink_debug_buffer(): 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 274 118 jlink.c:1793 jlink_debug_buffer(): 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 275 118 jlink.c:1793 jlink_debug_buffer(): 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 276 118 jlink.c:1793 jlink_debug_buffer(): 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 277 119 jlink.c:1793 jlink_debug_buffer(): 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 278 119 jlink.c:1793 jlink_debug_buffer(): 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 279 119 jlink.c:1793 jlink_debug_buffer(): 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 280 119 jlink.c:1793 jlink_debug_buffer(): 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 281 119 jlink.c:1793 jlink_debug_buffer(): 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 282 119 jlink.c:1793 jlink_debug_buffer(): 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Info : 283 120 jlink.c:722 jlink_config_dump(): J-Link configuration Info : 284 120 jlink.c:681 jlink_config_usb_address_dump(): USB-Address: 0x0 Info : 285 120 jlink.c:690 jlink_config_kickstart_dump(): Kickstart power on JTAG-pin 19: 0x0 Debug: 286 120 jlink.c:1793 jlink_debug_buffer(): 0000 f0 Debug: 287 120 jlink.c:1793 jlink_debug_buffer(): 0000 80 38 01 00 Info : 288 120 jlink.c:935 jlink_get_version_info(): J-Link hw version 80000 Info : 289 120 jlink.c:940 jlink_get_version_info(): J-Link hw type J-Link Debug: 290 121 jlink.c:1793 jlink_debug_buffer(): 0000 d4 Debug: 291 121 jlink.c:1793 jlink_debug_buffer(): 0000 d8 24 00 00 Info : 292 121 jlink.c:956 jlink_get_version_info(): J-Link max mem block 9432 Debug: 293 121 jlink.c:1793 jlink_debug_buffer(): 0000 c0 Debug: 294 121 jlink.c:1793 jlink_debug_buffer(): 0000 00 6c dc 02 04 00 Info : 295 122 jlink.c:972 jlink_get_version_info(): J-Link CPU base frequency: 48000000, minimum divider: 4 Debug: 296 122 jlink.c:1793 jlink_debug_buffer(): 0000 c2 03 00 00 00 Debug: 297 122 jlink.c:1793 jlink_debug_buffer(): 0000 66 62 00 00 01 00 00 00 Info : 298 122 jlink.c:999 jlink_get_version_info(): J-Link target powered on for 25190ms, changed 1 times Debug: 299 122 jlink.c:1793 jlink_debug_buffer(): 0000 07 Debug: 300 123 jlink.c:1793 jlink_debug_buffer(): 0000 fd 0c 01 00 01 00 01 01 Info : 301 123 jlink.c:648 jlink_get_status(): Vref = 3.325 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 1 TRST = 1 Info : 302 123 jlink.c:444 jlink_init(): J-Link JTAG Interface ready Debug: 303 123 jlink.c:1793 jlink_debug_buffer(): 0000 c7 ff Debug: 304 123 jlink.c:1793 jlink_debug_buffer(): 0000 03 00 00 00 Info : 305 123 jlink.c:802 jlink_select_interface(): J-Link available interfaces 0x3 Info : 306 124 jlink.c:809 jlink_select_interface(): J-Link selecting interface 0 Debug: 307 124 jlink.c:1793 jlink_debug_buffer(): 0000 c7 00 Debug: 308 124 jlink.c:1793 jlink_debug_buffer(): 0000 00 00 00 00 Info : 309 124 jlink.c:828 jlink_select_interface(): J-Link previously selected interface 0x0 Debug: 310 124 jlink.c:593 jlink_reset(): trst: 0, srst: 0 Debug: 311 124 jlink.c:1793 jlink_debug_buffer(): 0000 dd Debug: 312 125 jlink.c:1793 jlink_debug_buffer(): 0000 df Debug: 313 125 jlink.c:1793 jlink_debug_buffer(): 0000 05 64 00 Debug: 314 128 jlink.c:1793 jlink_debug_buffer(): 0000 07 Debug: 315 128 jlink.c:1793 jlink_debug_buffer(): 0000 fd 0c 01 00 01 00 01 01 Info : 316 128 jlink.c:648 jlink_get_status(): Vref = 3.325 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 1 TRST = 1 Debug: 317 128 jlink.c:1793 jlink_debug_buffer(): 0000 cf 00 08 00 ff 00 Error: 318 129 jlink.c:1643 jlink_usb_message(): usb_bulk_read failed (requested=1, result=-5) Error: 319 129 jlink.c:1506 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1) Debug: 320 129 core.c:1602 adapter_khz_to_speed(): convert khz to interface specific speed value Debug: 321 129 core.c:1606 adapter_khz_to_speed(): have interface set up Debug: 322 130 jlink.c:1793 jlink_debug_buffer(): 0000 05 ff ff Debug: 323 130 core.c:1602 adapter_khz_to_speed(): convert khz to interface specific speed value Debug: 324 130 core.c:1606 adapter_khz_to_speed(): have interface set up Info : 325 130 core.c:1424 adapter_init(): RCLK (adaptive clock speed) Debug: 326 130 openocd.c:137 handle_init_command(): Debug Adapter init complete Debug: 327 130 command.c:151 script_debug(): command - ocd_command ocd_command type ocd_transport init Debug: 328 131 command.c:151 script_debug(): command - ocd_transport ocd_transport init Debug: 330 131 transport.c:255 handle_transport_init(): handle_transport_init Debug: 331 131 jlink.c:593 jlink_reset(): trst: 0, srst: 0 Debug: 332 131 jlink.c:1793 jlink_debug_buffer(): 0000 dd Debug: 333 132 jlink.c:1793 jlink_debug_buffer(): 0000 df Debug: 334 132 core.c:713 jtag_add_reset(): SRST line released Debug: 335 132 core.c:737 jtag_add_reset(): TRST line released Debug: 336 132 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset Debug: 337 132 command.c:151 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init Debug: 338 132 command.c:151 script_debug(): command - ocd_jtag ocd_jtag arp_init Debug: 339 133 core.c:1435 jtag_init_inner(): Init JTAG chain Debug: 340 133 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset Debug: 341 133 jlink.c:1793 jlink_debug_buffer(): 0000 cf 00 07 00 7f 00 Error: 342 1133 jlink.c:1643 jlink_usb_message(): usb_bulk_read failed (requested=1, result=-116) Error: 343 1133 jlink.c:1506 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1) Debug: 344 1133 command.c:151 script_debug(): command - ocd_command ocd_command type ocd_jtag arp_init-reset Debug: 345 1133 command.c:151 script_debug(): command - ocd_jtag ocd_jtag arp_init-reset Debug: 346 1133 core.c:1530 jtag_init_reset(): Initializing with hard TRST+SRST reset Debug: 347 1133 jlink.c:593 jlink_reset(): trst: 1, srst: 0 Debug: 348 1134 jlink.c:1793 jlink_debug_buffer(): 0000 dd Debug: 349 1134 jlink.c:1793 jlink_debug_buffer(): 0000 de Debug: 350 1134 core.c:732 jtag_add_reset(): TRST line asserted Debug: 351 1134 jlink.c:593 jlink_reset(): trst: 1, srst: 1 Debug: 352 1134 jlink.c:1793 jlink_debug_buffer(): 0000 dc Debug: 353 1135 jlink.c:1793 jlink_debug_buffer(): 0000 de Debug: 354 1135 core.c:708 jtag_add_reset(): SRST line asserted Debug: 355 1135 jlink.c:593 jlink_reset(): trst: 0, srst: 1 Debug: 356 1135 jlink.c:1793 jlink_debug_buffer(): 0000 dc Debug: 357 1135 jlink.c:1793 jlink_debug_buffer(): 0000 df Debug: 358 1136 core.c:737 jtag_add_reset(): TRST line released Debug: 359 1136 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset Debug: 360 1136 jlink.c:593 jlink_reset(): trst: 0, srst: 0 Debug: 361 1136 jlink.c:1793 jlink_debug_buffer(): 0000 dd Debug: 362 1136 jlink.c:1793 jlink_debug_buffer(): 0000 df Debug: 363 1136 core.c:713 jtag_add_reset(): SRST line released Debug: 364 1136 core.c:1435 jtag_init_inner(): Init JTAG chain Debug: 365 1136 core.c:329 jtag_call_event_callbacks(): jtag event: TAP reset Debug: 366 1137 jlink.c:1793 jlink_debug_buffer(): 0000 cf 00 07 00 7f 00 Error: 367 2137 jlink.c:1643 jlink_usb_message(): usb_bulk_read failed (requested=1, result=-116) Error: 368 2137 jlink.c:1506 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 1) Debug: 369 2137 command.c:638 run_command(): Command failed with error code -4 User : 370 2137 command.c:679 command_run_line(): in procedure 'transport' Debug: 371 2137 command.c:638 run_command(): Command failed with error code -4 User : 372 2137 command.c:679 command_run_line(): in procedure 'init'
I was wrong in stating that ALL of Segger's JTAG messages were 194 bytes long. From Xiaofan's log, I see quite a few on the order of 20 bytes long (that represents 64 TCK, I think), but some are shorter and some are longer. I tried some differing JTAG message lengths. 32 bytes: Info : 147 164 jlink.c:443 jlink_init(): J-Link JTAG Interface ready Debug: 148 164 jlink.c:590 jlink_reset(): trst: 0, srst: 0 Debug: 149 164 jlink.c:1733 jlink_debug_buffer(): 0000 dd Debug: 150 164 jlink.c:1733 jlink_debug_buffer(): 0000 df Debug: 151 165 jlink.c:1733 jlink_debug_buffer(): 0000 05 04 00 Debug: 152 168 jlink.c:1733 jlink_debug_buffer(): 0000 cf 00 20 00 ff ff ff ff 00 00 00 00 Error: 153 176 jlink.c:1583 jlink_usb_message(): usb_bulk_read failed (requested=4, result=-5) Error: 154 176 jlink.c:1446 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 4) 95 bytes (like Segger): Info : 147 146 jlink.c:443 jlink_init(): J-Link JTAG Interface ready Debug: 148 146 jlink.c:590 jlink_reset(): trst: 0, srst: 0 Debug: 149 146 jlink.c:1733 jlink_debug_buffer(): 0000 dd Debug: 150 146 jlink.c:1733 jlink_debug_buffer(): 0000 df Debug: 151 146 jlink.c:1733 jlink_debug_buffer(): 0000 05 04 00 Debug: 152 150 jlink.c:1733 jlink_debug_buffer(): 0000 cf 00 f8 02 ff ff ff ff ff ff ff ff ff ff ff ff Debug: 153 150 jlink.c:1733 jlink_debug_buffer(): 0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 154 150 jlink.c:1733 jlink_debug_buffer(): 0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 155 150 jlink.c:1733 jlink_debug_buffer(): 0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 156 150 jlink.c:1733 jlink_debug_buffer(): 0040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 157 151 jlink.c:1733 jlink_debug_buffer(): 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Debug: 158 151 jlink.c:1733 jlink_debug_buffer(): 0060 ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 159 151 jlink.c:1733 jlink_debug_buffer(): 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 160 151 jlink.c:1733 jlink_debug_buffer(): 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 161 151 jlink.c:1733 jlink_debug_buffer(): 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 162 151 jlink.c:1733 jlink_debug_buffer(): 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 163 151 jlink.c:1733 jlink_debug_buffer(): 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Debug: 164 152 jlink.c:1733 jlink_debug_buffer(): 00c0 00 00 Error: 165 343 jlink.c:1583 jlink_usb_message(): usb_bulk_read failed (requested=95, result=-5) Error: 166 343 jlink.c:1446 jlink_tap_execute(): jlink_tap_execute, wrong result -107 (expected 95) Still no good. The only thing I can think of that I haven't tried is adding those EMU_CMD_REGISTER commands, and I don't really want to do that without knowing what the command does. ~Eric _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development