Соединение J-Link с Cortex-A53 (Raspberry PI3b +) - PullRequest
0 голосов
/ 21 октября 2019

У меня проблема, связанная с JTAG (точнее J-Link). Я пытаюсь подключить J-Link к Raspberry Pi 3B + (голый металл). Зонд находит ЦП и считывает таблицу ПЗУ coresight, но отсутствует информация о интерфейсе перекрестного запуска (CTI). Единицы доступны в ЦПУ согласно документации ARM. Есть возможность написать специальный скрипт для J-Link, чтобы настроить процессор, но документация плохая, и я не знаю, как это сделать.

Это кто-нибудь, кто сталкивался или сталкивался с подобной проблемой? Любой совет, как запустить его?

Ниже приведен вывод из запуска JLinkExe с попыткой подключения:

./JLinkExe
SEGGER J-Link GDB Server V6.52c Command Line Version

JLinkARM.dll V6.52c (DLL compiled Oct 11 2019 15:44:50)

Command line: -if jtag -device Cortex-A53 -endian little -speed auto -port 2331 -swoport 2332 -telnetport 2333 -vd -ir -localhostonly 1 -singlerun -strict -timeout 0 -nogui -jlinkscriptfile /home/piotr/rpi.JLinkScript
-----GDB Server start settings-----
GDBInit file:                  none
GDB Server Listening port:     2331
SWO raw output listening port: 2332
Terminal I/O port:             2333
Accept remote connection:      localhost only
Generate logfile:              off
Verify download:               on
Init regs on start:            on
Silent mode:                   off
Single run mode:               on
Target connection timeout:     0 ms
------J-Link related settings------
J-Link Host interface:         USB
J-Link script:                 /home/piotr/rpi.JLinkScript
J-Link settings file:          none
------Target related settings------
Target device:                 Cortex-A53
Target interface:              JTAG
Target interface speed:        auto
Target endian:                 little

Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V10 compiled Oct  8 2019 14:57:57
Hardware: V10.10
S/N: 260111336
OEM: SEGGER-EDU
Feature(s): FlashBP, GDB
Checking target voltage...
Target voltage: 3.09 V
Listening on TCP/IP port 2331
Connecting to target...ERROR: CTI connected to core not found. Debugging not possible

ERROR: CTI connected to core not found. Debugging not possible

ERROR: Could not connect to target.
Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
Shutting down...
Could not connect to target.
Please check power, connection and settings. piotr  /  opt  JLink  ./JLinkExe 
SEGGER J-Link Commander V6.52c (Compiled Oct 11 2019 15:44:58)
DLL version V6.52c, compiled Oct 11 2019 15:44:50

Connecting to J-Link via USB...O.K.
Firmware: J-Link V10 compiled Oct  8 2019 14:57:57
Hardware version: V10.10
S/N: 260111336
License(s): FlashBP, GDB
OEM: SEGGER-EDU
VTref=3.085V


Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: CORTEX-A53
Type '?' for selection dialog
Device>
Please specify target interface:
  J) JTAG (Default)
  S) SWD
  T) cJTAG
TIF>J
Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect
JTAGConf>
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "CORTEX-A53" selected.


Connecting to target via JTAG
TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
 #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map
AP scan stopped (required AP found)
AP[0]: APB-AP
Scanning ROMTbl @ 0x80000000
[0]Comp[0] @ 0x80010000: Cortex-A53
[0]Comp[1] @ 0x80011000: PMU-A53
[0]Comp[2] @ 0x80012000: Cortex-A53
[0]Comp[3] @ 0x80013000: PMU-A53
[0]Comp[4] @ 0x80014000: Cortex-A53
[0]Comp[5] @ 0x80015000: PMU-A53
[0]Comp[6] @ 0x80016000: Cortex-A53
[0]Comp[7] @ 0x80017000: PMU-A53
End of ROM table
TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
 #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map
AP scan stopped (required AP found)
AP[0]: APB-AP
Scanning ROMTbl @ 0x80000000
[0]Comp[0] @ 0x80010000: Cortex-A53
[0]Comp[1] @ 0x80011000: PMU-A53
[0]Comp[2] @ 0x80012000: Cortex-A53
[0]Comp[3] @ 0x80013000: PMU-A53
[0]Comp[4] @ 0x80014000: Cortex-A53
[0]Comp[5] @ 0x80015000: PMU-A53
[0]Comp[6] @ 0x80016000: Cortex-A53
[0]Comp[7] @ 0x80017000: PMU-A53
End of ROM table

****** Error: CTI connected to core not found. Debugging not possible

TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
 #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map
AP scan stopped (required AP found)
AP[0]: APB-AP
Scanning ROMTbl @ 0x80000000
[0]Comp[0] @ 0x80010000: Cortex-A53
[0]Comp[1] @ 0x80011000: PMU-A53
[0]Comp[2] @ 0x80012000: Cortex-A53
[0]Comp[3] @ 0x80013000: PMU-A53
[0]Comp[4] @ 0x80014000: Cortex-A53
[0]Comp[5] @ 0x80015000: PMU-A53
[0]Comp[6] @ 0x80016000: Cortex-A53
[0]Comp[7] @ 0x80017000: PMU-A53
End of ROM table
TotalIRLen = 4, IRPrint = 0x01
JTAG chain detection found 1 devices:
 #0 Id: 0x4BA00477, IRLen: 04, CoreSight JTAG-DP
Scanning AP map
AP scan stopped (required AP found)
AP[0]: APB-AP
Scanning ROMTbl @ 0x80000000
[0]Comp[0] @ 0x80010000: Cortex-A53
[0]Comp[1] @ 0x80011000: PMU-A53
[0]Comp[2] @ 0x80012000: Cortex-A53
[0]Comp[3] @ 0x80013000: PMU-A53
[0]Comp[4] @ 0x80014000: Cortex-A53
[0]Comp[5] @ 0x80015000: PMU-A53
[0]Comp[6] @ 0x80016000: Cortex-A53
[0]Comp[7] @ 0x80017000: PMU-A53
End of ROM table

****** Error: CTI connected to core not found. Debugging not possible

Cannot connect to target.

1 Ответ

0 голосов
/ 21 октября 2019

В этой (подробной) статье вы можете найти необходимую информацию. В этом случае (DBG /) CTI-адреса, которые вы ищете, будут:

set DBGBASE {0x80010000 0x80012000 0x80014000 0x80016000}
set CTIBASE {0x80018000 0x80019000 0x8001a000 0x8001b000}

Обратите внимание, что вы можете тестировать с использованием OpenOCD, так как он поддерживает ваш J-Link EDU, используя определение tcl/interface/jlink.cfgфайл, прежде чем возобновить тестирование с помощью J-Link commander. Вы должны использовать транковую версию OpenOCD, так как 0.10 не поддерживает форму Armv8, как я понимаю. Git-репозиторий находится здесь: git: //repo.or.cz/openocd.git

Что касается сценария J-Link, вы можете искать в архивах форума поддержки Segger теперь, когда вы знаете адреса CTI, информация, которую вы ищете, может быть доступна там. Если нет, просто обратитесь за помощью на форум.

Обновление: вы уже обращались за поддержкой на форум, я думаю.

Из руководства , стр. 218, выможет просто нужно установить CORESIGHT_Core-BaseAddr в вашем скрипте - здесь есть пример .

...