Hello, I have been following a help page on sysprog s website to try JTAGging into my RPi3 (B+) for the last week. I am trying to find whether J-Link+ even supports cortex-a7 (a53 would be even better, but I'll settle for working). I documented my steps and the problem on my blog entry , but here's where I am stuck (recap).
When using JLinkGDBServer (on Ubuntu 16.04 running in Parallels Desktop): just connection failure.
When using JLinkExe, and choosing CORTEX-A7, JTAG, 4000 KHz:
Display All
When connecting from OpenOCD
Display All
As you can see in the screenshot of the logic analyzer, TDI and TDO are moving, so I am guessing that the RPi GPIO pin mapping worked. I am attaching the Saleae Logic capture of the session (please unzip), which will have the full JLinkExe connection failure record. I am running the beta version of the SEGGER JLink tools, as you can see below:
I've never had a problem with my J-Link+, but this is the first time I've tried JTAG (always SWD before). I also tried SWD against my RPi3, but no reply from the ARM core to the SWD reset. At least with JTAG, the target is responding to reset.
Any hints please?
When using JLinkGDBServer (on Ubuntu 16.04 running in Parallels Desktop): just connection failure.
When using JLinkExe, and choosing CORTEX-A7, JTAG, 4000 KHz:
Source Code
- Connecting to target via JTAG
- TotalIRLen = 4, IRPrint = 0x01
- JTAG chain detection found 1 devices:
- #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
- ARM AP[0]: 0x24770002, APB-AP
- ROMTbl[0][0]: CompAddr: 80010000 CID: B105900D, PID:04-004BBD03
- ROMTbl[0][1]: CompAddr: 80011000 CID: B105900D, PID:04-004BB9D3
- ROMTbl[0][2]: CompAddr: 80012000 CID: B105900D, PID:04-004BBD03
- ROMTbl[0][3]: CompAddr: 80013000 CID: B105900D, PID:04-004BB9D3
- ROMTbl[0][4]: CompAddr: 80014000 CID: B105900D, PID:04-004BBD03
- ROMTbl[0][5]: CompAddr: 80015000 CID: B105900D, PID:04-004BB9D3
- ROMTbl[0][6]: CompAddr: 80016000 CID: B105900D, PID:04-004BBD03
- ROMTbl[0][7]: CompAddr: 80017000 CID: B105900D, PID:04-004BB9D3
- TotalIRLen = 4, IRPrint = 0x01
- JTAG chain detection found 1 devices:
- #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
- ******
- Error: Cortex-A/R-JTAG (connect): Could not determine address of core
- debug registers. Incorrect CoreSight ROM table in device?
- TotalIRLen = 4, IRPrint = 0x01
- JTAG chain detection found 1 devices:
- #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
- TotalIRLen = 4, IRPrint = 0x01
- JTAG chain detection found 1 devices:
- #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
- Cannot connect to target.
When connecting from OpenOCD
Source Code
- $ openocd -f /usr/share/openocd/scripts/interface/jlink.cfg -f ~/rpi/openocd/rpi3.cfg
- Open On-Chip Debugger 0.9.0 (2015-09-02-10:42)
- Licensed under GNU GPL v2
- For bug reports, read
- http://openocd.org/doc/doxygen/bugs.html
- adapter speed: 1000 kHz
- adapter_nsrst_delay: 400
- none separate
- Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
- Info : J-Link ARM V8 compiled Nov 28 2014 13:44:46
- Info : J-Link caps 0xb9ff7bbf
- Info : J-Link hw version 80000
- Info : J-Link hw type J-Link
- 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.306 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 1 TRST = 1
- Info : J-Link JTAG Interface ready
- Info : clock speed 1000 kHz
- Info : JTAG tap: rspi.arm tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
- Warn : JTAG tap: rspi.arm UNEXPECTED: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
- Error: JTAG tap: rspi.arm expected 1 of 1: 0x07b7617f (mfg: 0x0bf, part: 0x7b76, ver: 0x0)
- Error: Trying to use configured scan chain anyway...
- Warn : Bypassing JTAG setup events due to errors
- Error: 'arm11 target' JTAG error SCREG OUT 0x00
- Error: unexpected ARM11 ID code
As you can see in the screenshot of the logic analyzer, TDI and TDO are moving, so I am guessing that the RPi GPIO pin mapping worked. I am attaching the Saleae Logic capture of the session (please unzip), which will have the full JLinkExe connection failure record. I am running the beta version of the SEGGER JLink tools, as you can see below:
I've never had a problem with my J-Link+, but this is the first time I've tried JTAG (always SWD before). I also tried SWD against my RPi3, but no reply from the ARM core to the SWD reset. At least with JTAG, the target is responding to reset.
Any hints please?