Hi,

I'm trying to openocd working with a board that has an i.MX6UL processor.  I've 
put together a configuration file:


# ______________________________________________________________________ i.MX6UL

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME
} else {
   set  _CHIPNAME imx6
}

if { [info exists ENDIAN] } {
    set  _ENDIAN $ENDIAN
} else {
    set  _ENDIAN little
}

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

jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x01 -irmask 0x0f -expected-id 
$_DAP_TAPID

# SDMA / no IDCODE
jtag newtap $_CHIPNAME sdma -irlen 4 -ircapture 0x00 -irmask 0x0f

# System JTAG Controller
if { [info exists SJC_TAPID ] } {
    set _SJC_TAPID $SJC_TAPID
} else {
    set _SJC_TAPID 0x1891d01d
}
jtag newtap $_CHIPNAME sjc -irlen 5 -ircapture 0x01 -irmask 0x1f -expected-id 
$_SJC_TAPID

# GDB target: Cortex-A, using DAP
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_a -endian $_ENDIAN -chain-position 
$_CHIPNAME.dap -dbgbase 0x02130000

# some TCK cycles are required to activate the DEBUG power domain
jtag configure $_CHIPNAME.sjc -event post-reset "runtest 100"

# ______________________________________________________________________________


transport select jtag
reset_config none
adapter_khz 32

---


It examines the target using v0.9.0 from Ubuntu Repositories

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
jtag
i.MX6UL board loaded.
Warn : imx6.sdma: nonstandard IR value
Warn : Transport "jtag" was already selected
none separate
adapter speed: 32 kHz
eld_init
Info : clock speed 32 kHz
Info : JTAG tap: imx6.dap tap/device found: 0x5ba00477 (mfg: 0x23b, part: 
0xba00, ver: 0x5)
Info : TAP imx6.sdma does not have IDCODE
Info : JTAG tap: imx6.sjc tap/device found: 0x1891d01d (mfg: 0x00e, part: 
0x891d, ver: 0x1)
Info : imx6.cpu: hardware has 6 breakpoints, 4 watchpoints
Warn : Invalid ACK 0 in JTAG-DP transaction
Polling target imx6.cpu failed, trying to reexamine
Warn : Invalid ACK 0 in JTAG-DP transaction
Warn : Invalid ACK 0 in JTAG-DP transaction
Warn : Invalid ACK 0 in JTAG-DP transaction
Warn : Invalid ACK 0 in JTAG-DP transaction
Warn : Invalid ACK 0 in JTAG-DP transaction

Looking at the console the board carries on booting so the CPU hasn't been 
halted.  I then have to power cycle the JTAG debugger as it stays in this state.


It I turn on debug I get the following for examine targets:


[snip]

Debug: 312 43 openocd.c:150 handle_init_command(): Examining targets...
Debug: 313 43 target.c:1465 target_call_event_callbacks(): target event 21 
(examine-start)
Debug: 314 43 arm_adi_v5.c:649 ahbap_debugport_init():
Debug: 315 43 arm_adi_v5.c:691 ahbap_debugport_init(): DAP: wait CDBGPWRUPACK
Debug: 316 43 arm_adi_v5.h:391 dap_dp_poll_register(): DAP: poll 4, mask 
0x0820000000, value 0x20000000
Debug: 317 55 arm_adi_v5.c:698 ahbap_debugport_init(): DAP: wait CSYSPWRUPACK
Debug: 318 55 arm_adi_v5.h:391 dap_dp_poll_register(): DAP: poll 4, mask 
0x0880000000, value 0x80000000
Debug: 319 81 arm_adi_v5.c:750 ahbap_debugport_init(): MEM_AP Packed Transfers: 
enabled
Debug: 320 81 arm_adi_v5.c:761 ahbap_debugport_init(): MEM_AP CFG: large data 
0, long address 0, big-endian 0
Debug: 321 97 arm_adi_v5.c:823 dap_find_ap(): Found APB-AP at AP index: 1 
(IDR=0x44770002)
Debug: 322 105 arm_adi_v5.c:823 dap_find_ap(): Found AHB-AP at AP index: 0 
(IDR=0x74770001)
Debug: 323 165 cortex_a.c:2917 cortex_a_examine_first(): cpuid = 0x410fc075
Debug: 324 165 cortex_a.c:2918 cortex_a_examine_first(): ctypr = 0x84448003
Debug: 325 165 cortex_a.c:2919 cortex_a_examine_first(): ttypr = 0x00000000
Debug: 326 166 cortex_a.c:2920 cortex_a_examine_first(): didr = 0x3515f005
Debug: 327 194 cortex_a.c:2957 cortex_a_examine_first(): target->coreid 0 
DBGPRSR  0x2b
Info : 328 194 arm_dpm.c:987 arm_dpm_setup(): imx6.cpu: hardware has 6 
breakpoints, 4 watchpoints
Debug: 329 194 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
02130140
Debug: 330 208 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
02130144
Debug: 331 216 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
02130148
Debug: 332 224 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
0213014c
Debug: 333 233 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
02130150
Debug: 334 246 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
02130154
Debug: 335 255 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
021301c0
Debug: 336 268 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
021301c4
Debug: 337 277 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
021301c8
Debug: 338 285 cortex_a.c:766 cortex_a_bpwp_disable(): A: bpwp disable, cr 
021301cc
Debug: 339 293 cortex_a.c:2982 cortex_a_examine_first(): Configured 6 hw 
breakpoints
Debug: 340 293 cortex_a.c:206 cortex_a_init_debug_access():
Debug: 341 308 cortex_a.c:219 cortex_a_init_debug_access(): DBGOSLSR  0xa
Debug: 342 331 cortex_a.c:241 cortex_a_init_debug_access(): target->coreid 0 
DBGPRSR  0x2b
Debug: 343 347 target.c:1465 target_call_event_callbacks(): target event 22 
(examine-end)
Debug: 344 347 command.c:145 script_debug(): command - ocd_command ocd_command 
type ocd_flash init
Debug: 345 347 command.c:145 script_debug(): command - ocd_flash ocd_flash init
Debug: 347 356 tcl.c:890 handle_flash_init_command(): Initializing flash 
devices...
Debug: 348 356 command.c:145 script_debug(): command - ocd_command ocd_command 
type ocd_mflash init
Debug: 349 356 command.c:145 script_debug(): command - ocd_mflash ocd_mflash 
init
Debug: 351 366 mflash.c:1379 handle_mflash_init_command(): Initializing mflash 
devices...
Debug: 352 366 command.c:145 script_debug(): command - ocd_command ocd_command 
type ocd_nand init
Debug: 353 366 command.c:145 script_debug(): command - ocd_nand ocd_nand init
Debug: 355 376 tcl.c:497 handle_nand_init_command(): Initializing NAND 
devices...
Debug: 356 376 command.c:145 script_debug(): command - ocd_command ocd_command 
type ocd_pld init
Debug: 357 376 command.c:145 script_debug(): command - ocd_pld ocd_pld init
Debug: 359 386 pld.c:207 handle_pld_init_command(): Initializing PLDs...
Warn : 360 496 adi_v5_jtag.c:252 jtagdp_transaction_endcheck(): Invalid ACK 0 
in JTAG-DP transaction
Debug: 361 496 target.c:1465 target_call_event_callbacks(): target event 0 
(gdb-halt)
User : 362 496 target.c:2532 handle_target(): Polling target imx6.cpu failed, 
trying to reexamine
Debug: 363 496 target.c:1465 target_call_event_callbacks(): target event 21 
(examine-start)
Debug: 364 496 arm_adi_v5.c:649 ahbap_debugport_init():
Debug: 365 496 arm_adi_v5.c:691 ahbap_debugport_init(): DAP: wait CDBGPWRUPACK
Debug: 366 496 arm_adi_v5.h:391 dap_dp_poll_register(): DAP: poll 4, mask 
0x0820000000, value 0x20000000
Warn : 367 507 adi_v5_jtag.c:252 jtagdp_transaction_endcheck(): Invalid ACK 0 
in JTAG-DP transaction
Debug: 368 507 arm_adi_v5.c:691 ahbap_debugport_init(): DAP: wait CDBGPWRUPACK
Debug: 369 507 arm_adi_v5.h:391 dap_dp_poll_register(): DAP: poll 4, mask 
0x0820000000, value 0x20000000

[snip]


If I run using the latest version in git I get the following
Open On-Chip Debugger 0.10.0+dev-00146-g1025be3-dirty (2017-06-08-08:24)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
i.MX6UL board loaded.
Info : auto-selecting first available session transport "jtag". To override use 
'transport select <transport>'.
Warn : imx6.sdma: nonstandard IR value
Warn : Transport "jtag" was already selected
none separate
adapter speed: 32 kHz
eld_init
Info : clock speed 32 kHz
Info : JTAG tap: imx6.dap tap/device found: 0x5ba00477 (mfg: 0x23b (ARM Ltd.), 
part: 0xba00, ver: 0x5)
Info : TAP imx6.sdma does not have IDCODE
Info : JTAG tap: imx6.sjc tap/device found: 0x1891d01d (mfg: 0x00e (Freescale 
(Motorola)), part: 0x891d, ver: 0x1)
Error: target->coreid 0 OSLock sticky, core not powered?

with debug
[snip]
Debug: 374 56 openocd.c:153 handle_init_command(): Examining targets...
Debug: 375 56 target.c:1522 target_call_event_callbacks(): target event 21 
(examine-start)
Debug: 376 56 arm_adi_v5.c:603 dap_dp_init():
Debug: 377 61 arm_adi_v5.c:637 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 378 61 arm_adi_v5.h:428 dap_dp_poll_register(): DAP: poll 4, mask 
0x20000000, value 0x20000000
Debug: 379 71 arm_adi_v5.c:644 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 380 71 arm_adi_v5.h:428 dap_dp_poll_register(): DAP: poll 4, mask 
0x80000000, value 0x80000000
Debug: 381 102 arm_adi_v5.c:785 dap_find_ap(): Found APB-AP at AP index: 1 
(IDR=0x44770002)
Debug: 382 117 arm_adi_v5.c:712 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 383 117 arm_adi_v5.c:723 mem_ap_init(): MEM_AP CFG: large data 0, long 
address 0, big-endian 0
Debug: 384 126 arm_adi_v5.c:785 dap_find_ap(): Found AHB-AP at AP index: 0 
(IDR=0x74770001)
Debug: 385 141 arm_adi_v5.c:712 mem_ap_init(): MEM_AP Packed Transfers: enabled
Debug: 386 141 arm_adi_v5.c:723 mem_ap_init(): MEM_AP CFG: large data 0, long 
address 0, big-endian 0
Debug: 387 173 cortex_a.c:3007 cortex_a_examine_first(): didr = 0x3515f005
Debug: 388 173 cortex_a.c:3008 cortex_a_examine_first(): cpuid = 0x410fc075
Debug: 389 189 cortex_a.c:3017 cortex_a_examine_first(): target->coreid 0 
DBGPRSR  0x2b
Debug: 390 190 cortex_a.c:3026 cortex_a_examine_first(): target->coreid 0 was 
reset!
Debug: 391 205 cortex_a.c:3033 cortex_a_examine_first(): target->coreid 0 
DBGOSLSR 0xa
Debug: 392 205 cortex_a.c:3039 cortex_a_examine_first(): target->coreid 0 
OSLock set! Trying to unlock
Error: 393 223 cortex_a.c:3051 cortex_a_examine_first(): target->coreid 0 
OSLock sticky, core not powered?
Debug: 394 223 openocd.c:155 handle_init_command(): target examination failed
Debug: 395 223 command.c:143 script_debug(): command - ocd_command ocd_command 
type ocd_flash init
Debug: 396 223 command.c:143 script_debug(): command - ocd_flash ocd_flash init
Debug: 398 223 tcl.c:1107 handle_flash_init_command(): Initializing flash 
devices...
Debug: 399 224 command.c:143 script_debug(): command - ocd_command ocd_command 
type ocd_mflash init
Debug: 400 224 command.c:143 script_debug(): command - ocd_mflash ocd_mflash 
init
Debug: 402 224 mflash.c:1377 handle_mflash_init_command(): Initializing mflash 
devices...
Debug: 403 224 command.c:143 script_debug(): command - ocd_command ocd_command 
type ocd_nand init
Debug: 404 224 command.c:143 script_debug(): command - ocd_nand ocd_nand init
Debug: 406 224 tcl.c:497 handle_nand_init_command(): Initializing NAND 
devices...
Debug: 407 224 command.c:143 script_debug(): command - ocd_command ocd_command 
type ocd_pld init
Debug: 408 224 command.c:143 script_debug(): command - ocd_pld ocd_pld init
Debug: 410 224 pld.c:205 handle_pld_init_command(): Initializing PLDs...


Any help appreciated,

Many Thanks,
Martin.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to