Hi,
I’m trying to run OpenOCD with Olimex ARM-USB-OCD and Broadcom bcm63168.
I have already installed Olimex and I thing it’'s working properly (led is blinking).
In UrJTAG I have good signature and it can enter to Debug Mode.
But in OpenOCD I have still only:
sudo openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg -f target/bcm63168.cfg -c
Open On-Chip Debugger 0.9.0 (2016-04-25-11:56)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
openocd: option requires an argument -- 'c'
adapter speed: 10 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
bcm63168.cpu
Info : clock speed 10 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: bcm63168.cpu: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Or with reset_config:
sudo openocd -f interface/ftdi/olimex-arm-usb-ocd.cfg -f target/bcm63168.cfg -c "reset_config trst_and_srst"
Open On-Chip Debugger 0.9.0 (2016-04-25-11:56)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 10 kHz
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
bcm63168.cpu
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
Info : clock speed 10 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: IR capture error at bit 5, saw 0x21 not 0x...3
Warn : Bypassing JTAG setup events due to errors
Of course I made bcm63168.cfg by myself based on bcm6348 and it looks like:
set _CHIPNAME bcm63168
set _CPUID 0x08631617
adapter_khz 100
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME mips_m4k -endian big -chain-position $_TARGETNAME
I’m working on Ubuntu 15.04.
When I run it with -d3 options the output is (short cut):
Debug: 40713 4651 ftdi.c:469 ftdi_execute_scan(): tap_set_state(DRPAUSE)
Debug: 40714 4651 ftdi.c:236 move_to_state(): start=DRPAUSE goal=RUN/IDLE
Debug: 40715 4651 ftdi.c:240 move_to_state(): tap_set_state(DREXIT2)
Debug: 40716 4651 ftdi.c:240 move_to_state(): tap_set_state(DRUPDATE)
Debug: 40717 4651 ftdi.c:240 move_to_state(): tap_set_state(RUN/IDLE)
Debug: 40718 4651 mpsse.c:514 mpsse_clock_tms_cs(): out 3 bits, tdi=0
Debug: 40719 4651 mpsse.c:396 buffer_write_byte(): 4b
Debug: 40720 4651 mpsse.c:396 buffer_write_byte(): 02
Debug: 40721 4651 mpsse.c:396 buffer_write_byte(): 03
Debug: 40722 4651 ftdi.c:485 ftdi_execute_scan(): DR scan, 32 bits, end in RUN/IDLE
Debug: 40723 4651 mpsse.c:581 mpsse_set_data_bits_high_byte(): -
Debug: 40724 4651 mpsse.c:396 buffer_write_byte(): 82
Debug: 40725 4651 mpsse.c:396 buffer_write_byte(): 01
Debug: 40726 4651 mpsse.c:396 buffer_write_byte(): 0f
Debug: 40727 4651 mpsse.c:796 mpsse_flush(): write 27+1, read 5
Debug: 40728 4651 mpsse.c:396 buffer_write_byte(): 87
Debug: 40729 4651 mpsse.c:770 write_cb(): transferred 28 of 28
Debug: 40730 4651 mpsse.c:772 write_cb(): 82 09 0f 4b 02 01 39 02 00 00 c0 04 3b 06 00 6b 00 81 4b 00 80 4b 02 03 82 01 0f 87
Debug: 40731 4655 mpsse.c:732 read_cb(): 31 60 7f 61 31 0c 86
Debug: 40732 4655 mpsse.c:756 read_cb(): raw chunk 7, transferred 5 of 5
Debug: 40733 4655 mpsse.c:581 mpsse_set_data_bits_high_byte(): -
I think that it is reading something but this something is wrong:
signature of bcm63168 is 0x00 86 31 61 7F and read is: 31 60 7f 61 31 0c 86
Have you any suggestions?