AnsweredAssumed Answered

Openocd on the imx6ULL EVK

Question asked by Ian Caddy on Jul 19, 2018
Latest reply on Jul 23, 2018 by Ian Caddy

Hi All,

 

We designed a custom board using an imx6ULL processor, and I have been trying to get openocd (using a Olimex ARM-USB-TINY-H) to work with it, but I get so far, and then it stops.

We then purchased a imx6ULL EVK assuming there might be something wrong with our custom board, but it has the same / similar issues.

 

I have got it to a state where it looks like it is starting up OK, but I can not halt or reset the EVK.  Note there is no firmware programming into the EVK (the microSD card is out).  I am happy to provide my exisitng imx6ull.cfg and openocd.cfg files if anyone is interested.  This is the output I am getting:

 

Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Warn : imx6.sdma: nonstandard IR value
adapter speed: 1000 kHz
trst_and_srst separate srst_gates_jtag trst_open_drain srst_open_drain connect_deassert_srst
adapter speed: 1000 kHz
jtag_ntrst_delay: 1000
Info : clock speed 1000 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: 0x088c101d (mfg: 0x00e (Freescale (Motorola)), part: 0x88c1, ver: 0x0)
Error: target->coreid 0 OSLock sticky, core not powered?

 

When turning on debug I get the following:

 

Info : 351 1185 core.c:959 jtag_examine_chain_display(): JTAG tap: imx6.sjc tap/device found: 0x088c101d (mfg: 0x00e (Freescale (Motorola)), part: 0x88c1, ver: 0x0)
Debug: 352 1185 core.c:1190 jtag_validate_ircapture(): IR capture validation scan
Debug: 353 1191 core.c:1248 jtag_validate_ircapture(): imx6.dap: IR capture 0x01
Debug: 354 1191 core.c:1248 jtag_validate_ircapture(): imx6.sdma: IR capture 0x00
Debug: 355 1191 core.c:1248 jtag_validate_ircapture(): imx6.sjc: IR capture 0x01
Debug: 356 1191 openocd.c:153 handle_init_command(): Examining targets...
Debug: 357 1191 target.c:1517 target_call_event_callbacks(): target event 21 (examine-start)
Debug: 358 1191 arm_adi_v5.c:603 dap_dp_init():  
Debug: 359 1203 arm_adi_v5.c:637 dap_dp_init(): DAP: wait CDBGPWRUPACK
Debug: 360 1203 arm_adi_v5.h:428 dap_dp_poll_register(): DAP: poll 4, mask 0x20000000, value 0x20000000
Debug: 361 1222 arm_adi_v5.c:644 dap_dp_init(): DAP: wait CSYSPWRUPACK
Debug: 362 1222 arm_adi_v5.h:428 dap_dp_poll_register(): DAP: poll 4, mask 0x80000000, value 0x80000000
Debug: 363 1274 arm_adi_v5.c:785 dap_find_ap(): Found APB-AP at AP index: 1 (IDR=0x44770002)
Debug: 364 1283 arm_adi_v5.c:712 mem_ap_init(): MEM_AP Packed Transfers: disabled
Debug: 365 1283 arm_adi_v5.c:723 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 366 1294 arm_adi_v5.c:785 dap_find_ap(): Found AHB-AP at AP index: 0 (IDR=0x74770001)
Debug: 367 1303 arm_adi_v5.c:712 mem_ap_init(): MEM_AP Packed Transfers: enabled
Debug: 368 1303 arm_adi_v5.c:723 mem_ap_init(): MEM_AP CFG: large data 0, long address 0, big-endian 0
Debug: 369 1331 cortex_a.c:3007 cortex_a_examine_first(): didr = 0x3515f005
Debug: 370 1331 cortex_a.c:3008 cortex_a_examine_first(): cpuid = 0x410fc075
Debug: 371 1346 cortex_a.c:3017 cortex_a_examine_first(): target->coreid 0 DBGPRSR  0x2b
Debug: 372 1346 cortex_a.c:3026 cortex_a_examine_first(): target->coreid 0 was reset!
Debug: 373 1357 cortex_a.c:3033 cortex_a_examine_first(): target->coreid 0 DBGOSLSR 0xa
Debug: 374 1357 cortex_a.c:3039 cortex_a_examine_first(): target->coreid 0 OSLock set! Trying to unlock
Debug: 375 1388 cortex_a.c:3050 cortex_a_examine_first():    ret = 0, OSLSR = a
Error: 376 1388 cortex_a.c:3052 cortex_a_examine_first(): target->coreid 0 OSLock sticky, core not powered?
Debug: 377 1388 openocd.c:155 handle_init_command(): target examination failed

 

Note I have added some extra debug to the 0.10.0 log which is the return from trying to clear the OS Lock. and the DBGOSLSR regsiter is still the same.

Looking at the DBGPRSR it is showing 0x2B, which indicates (the bottom bit) that the core is powered, but I am still unable to unlock the OS Lock.

 

Does anyone have a working configuration file for this processor, or any hints about how I can get past this place?

 

regards,

Ian Caddy

Outcomes