AnsweredAssumed Answered

openocd JTAG  with the iMX 8M Mini EVK.

Question asked by Wes Philbrook on Apr 23, 2020
Latest reply on Jun 4, 2020 by jesse stone

I'm trying to get openocd JTAG running with the iMX 8M Mini EVK.

Couldn't find a proper JTAG cfg file so I made one from a imx 8Mq I found,

 

nxp_mcimx8m-evk.cfg File

#
# configuration file for NXP MC-IMX8M-EVK
#

# only JTAG supported
transport select jtag

# set a safe JTAG clock speed, can be overridden
adapter speed 1000

# default JTAG configuration has only SRST and no TRST
reset_config srst_only srst_push_pull

# delay after SRST goes inactive
adapter srst delay 70

# board has an i.MX8MQ with 4 Cortex-A53 cores
set CHIPNAME imx8mq
set CHIPCORES 4


#
# configuration file for NXP i.MX8M family of SoCs
#
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME imx8m
}

if { [info exists CHIPCORES] } {
set _cores $CHIPCORES
} else {
set _cores 1
}

# CoreSight Debug Access Port
if { [info exists DAP_TAPID] } {
set _DAP_TAPID $DAP_TAPID
} else {
set _DAP_TAPID 0x5ba00477
}

# the DAP tap
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x01 -irmask 0x0f \
-expected-id $_DAP_TAPID

dap create $_CHIPNAME.dap -chain-position $_CHIPNAME.cpu

set _TARGETNAME $_CHIPNAME.a53
set _CTINAME $_CHIPNAME.cti

set DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
set CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}

for { set _core 0 } { $_core < $_cores } { incr _core } {

cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 \
-ctibase [lindex $CTIBASE $_core]

set _command "target create $_TARGETNAME.$_core aarch64 -dap $_CHIPNAME.dap \
-dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core"

if { $_core != 0 } {
# non-boot core examination may fail
set _command "$_command -defer-examine"
set _smp_command "$_smp_command $_TARGETNAME.$_core"
} else {
set _smp_command "target smp $_TARGETNAME.$_core"
}

eval $_command
}

eval $_smp_command

# declare the auxiliary Cortex-M4 core on AP #4
target create ${_CHIPNAME}.m4 cortex_m -dap ${_CHIPNAME}.dap -ap-num 4 \
-defer-examine

# AHB-AP for direct access to soc bus
target create ${_CHIPNAME}.ahb mem_ap -dap ${_CHIPNAME}.dap -ap-num 0

# default target is A53 core 0
targets $_TARGETNAME.0

 

 

I run openocd as follows:

sudo openocd -f interface/jlink.cfg -f board/nxp_mcimx8m-evk.cfg

And the result is 

Open On-Chip Debugger 0.10.0+dev-01200-gff9ee13-dirty (2020-04-23-10:26)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : J-Link V11 compiled Mar 19 2020 11:11:08
Info : Hardware version: 11.00
Info : VTarget = 1.806 V
Info : clock speed 1000 kHz
Info : JTAG tap: imx8mq.cpu tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x5)
Info : DAP transaction stalled (WAIT) - slowing down
Error: JTAG-DP STICKY ERROR
Error: imx8mq.a53.0: examination failed

Info : starting gdb server for imx8mq.a53.0 on 3333
Info : Listening on port 3333 for gdb connections
Info : starting gdb server for imx8mq.m4 on 3334
Info : Listening on port 3334 for gdb connections

 

Can anyone explain why I get Error: JTAG-DP STICKY ERROR;

Any response will be greatly appreciated.

 

Wes

Attachments

Outcomes