2

I am trying to debug a bare metal application using openocd (seggers does not provide support for the cortex a-53 so jlink won't work). I installed openocd following this set of instructions.

However when I call the command:

openocd -f interface/jlink.cfg -f /target/rpi3.cfg

I get the following errors:

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: rpi3.dap: IR capture error; saw 0x00 not 0x01                                  │
Warn : Bypassing JTAG setup events due to errors                                      │
Warn : Invalid ACK 0 in JTAG-DP transaction      

The complete output is:

Open On-Chip Debugger 0.9.0-dev-gb796a58 (2017-06-05-20:22)                           │nc localhost 4444
Licensed under GNU GPL v2                                                             │��������Open On-Chip Debugger
For bug reports, read                                                                 │> jtag init
        http://openocd.sourceforge.net/doc/doxygen/bugs.html                          │jtag init
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert│JTAG scan chain interrogation failed: all zeroes
_srst                                                                                 │Check JTAG interface, timings, target power, etc.
adapter speed: 1000 kHz                                                               │Trying to use configured scan chain anyway...
jtag_ntrst_delay: 500                                                                 │rpi3.dap: IR capture error; saw 0x00 not 0x01
Info : J-Link ARM V8 compiled Nov 28 2014 13:44:46                                    │Bypassing JTAG setup events due to errors
Info : J-Link caps 0xb9ff7bbf                                                         │> 
Info : J-Link hw version 80000                                                        ├──────────────────────────────────────────────────────────────────────────────────────
Info : J-Link hw type J-Link                                                          │4.3:*****@*****-******:/usr/local/share/openocd/scripts/interface$
Info : J-Link max mem block 9224                                                      │                                                                                      
Info : J-Link configuration                                                           │
Info : USB-Address: 0x0                                                               │
Info : Kickstart power on JTAG-pin 19: 0xffffffff                                     │
Info : Vref = 3.287 TCK = 1 TDI = 0 TDO = 0 TMS = 0 SRST = 1 TRST = 1                 │
Info : J-Link JTAG Interface ready                                                    │
Info : clock speed 1000 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: rpi3.dap: IR capture error; saw 0x00 not 0x01                                  │
Warn : Bypassing JTAG setup events due to errors                                      │
Warn : Invalid ACK 0 in JTAG-DP transaction         

I have searched for a solution online for days now but everything I have tried has been so far unsuccessful. If anyone could either tell me what is causing this error, or give me an alternative way to use gdb to debug my embedded program I'd be very grateful.

0

The JTAG state machine goes to the shift idcode state when powered on. You only need two pins to be working. Tclk and TDO. TDO will be zero if neither the pi nor the probe supplied a pull up resistor on the open collector TDO line.

  • I am using a setup that was made for the PI 2, however the pi 3 should have the same GPIO pin layout. SO I don't suspect a GPIO cable connection to be the problem. Then again I have never setup a board debug system before. – Makogan Jun 20 '17 at 3:00
  • Also could you explain what you just explained in more layman terms? I am sorry, I'd appreciate if you went into more detail in your answer please. – Makogan Jun 20 '17 at 3:01
  • You need to ask a specific question. The JTAG spec is very long winded. They do a very simple thing at reset to simplify debugging new hardware. You only need two pins. The reset lines and TDI and TMS are static. Normally to have several chips in a chain the idcode will tell you all of you chips if intact. – PaulF8080 Jun 20 '17 at 3:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.