On 17.12.2009 19:39, David Brownell wrote:
> On Thursday 17 December 2009, Dirk Behme wrote:
>
>> Ok, after board reset I get
>>
>> -- cut --
>> > scan_chain
>> TapName Enabled IdCode Expected IrLen IrCap IrMask
>> -- ------------------- -------- ---------- ---------- ----- ----- ------
>> 0 omap3530.dsp n 0x00000000 0x00000000 38 0x25 0x3f
>> 1 omap3530.dap Y 0x00000000 0x0b6d602f 4 0x01 0x0f
>> 2 omap3530.jrc Y 0x0b7ae02f 0x0b7ae02f 6 0x01 0x3f
>> -- cut --
>>
>> *without* manually calling omap3_dbginit. Most probably this is the
>> expected behavior? Looking at the scripts, omap3_dbginit seems to be
>> called automatically, now?
>
> Yes. And my notes suggest that it shouldn't need to be exposed
> via Tcl scripting either ... are its guts not called automagically
> when the target.examine() method is called? That must be called
> before *ANYTHING* can be done with the target. QED ... but I did
> not chase it down.
>
> I was kind of focussing on getting ICEpick integration to behave
> sanely, when I did that, not specifically on OMAP3. So now we
> have ICEpick behaving the same way on Davinci and OMAP3 -- the ARM
> is automatically added to the scan chain after reset, and maybe
> the ETB too (on DaVinci) -- suggesting that the OpenOCD event
> infrastructure and TAP activation logic is doing relatively sane
> things. That didn't especially involve A8 updates though.
>
> (And similarly with the DPM, register, and watchpoint updates:
> my focus was shared infrastructure. In that case however the
> A8 updates added missing capabilities to A8 support.)
>
>
>> But, after reset, OpenOCD start reports a lot of STICKY ERRORs:
>>
>> -- cut --
>> # ./bin/openocd -s lib/openocd/ -f interface/flyswatter.cfg -f
>> board/ti_beagleboard.cfg
>>
>> Open On-Chip Debugger 0.4.0-dev-00955-g3616b93 (2009-12-17-17:30)
>>
>> For bug reports, read
>>
>> http://openocd.berlios.de/doc/doxygen/bugs.html
>>
>> RCLK - adaptive
>>
>> Warn : omap3530.dsp: huge IR length 38
>> RCLK - adaptive
>> trst_only separate trst_push_pull
>> Info : RCLK (adaptive clock speed) not supported - fallback to 1000 kHz
>> Info : JTAG tap: omap3530.jrc tap/device found: 0x0b7ae02f (mfg:
>> 0x017, part: 0xb7ae, ver: 0x0)
>> Info : JTAG tap: omap3530.dap enabled
>> Info : omap3530.cpu: hardware has 6 breakpoints, 2 watchpoints
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011140
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011140
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011140
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011140
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011150
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011150
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x54011150
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011150
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x540111c0
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x540111c0
>> Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar
>> 0x540111c0
>> Error: SWJ-DP STICKY ERROR
>> Error: Read MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x540111c0
>> -- cut --
>>
>> Is this expected?
>
> I don't recall seeing that, no. Are "sticky" errors cleared
> correctly? ISTR thinking for some reason they weren't ...
>
> What was it trying to access when it got those errors?
>
> It shouldn't matter ... but I'm using a rev B5 Beagle, which
> means not-the-latest-Cortex. R2P1 or somesuch not R3Px.
I did some additional tests:
* I updated to 0.4.0-rc1-dev-00001-g4e2b15f (2009-12-23-08:09)
* I have Beagle A4 and C1.
* Both show above sticky errors after board "cold" start. I.e. power
up the board, let it wait at U-Boot prompt and then start
openocd -s lib/openocd/ -f interface/flyswatter.cfg -f
board/ti_beagleboard.cfg
will result in above sticky errors.
* With a OpenOCD "warm" re-start (i.e. don't touch Beagle power, just
exit OpenOCD and restart it) I don't get above sticky errors. Instead
I get
-- cut --
...
RCLK - adaptive
Warn : omap3530.dsp: huge IR length 38
RCLK - adaptive
trst_only separate trst_push_pull
Info : RCLK (adaptive clock speed) not supported - fallback to 1000 kHz
Info : TAP omap3530.jrc does not have IDCODE
Warn : JTAG tap: omap3530.jrc UNEXPECTED: 0x00000000 (mfg:
0x000, part: 0x0000, ver: 0x0)
Error: JTAG tap: omap3530.jrc expected 1 of 1: 0x0b7ae02f (mfg:
0x017, part: 0xb7ae, ver: 0x0)
Error: Trying to use configured scan chain anyway...
Warn : Bypassing JTAG setup events due to errors
-- cut --
which can be "fixed" by manual 'reset halt':
-- cut --
> telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> scan_chain
TapName Enabled IdCode Expected IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 omap3530.dsp n 0x00000000 0x00000000 38 0x25 0x3f
1 omap3530.dap n 0x00000000 0x0b6d602f 4 0x01 0x0f
2 omap3530.jrc Y 0x00000000 0x0b7ae02f 6 0x01 0x3f
> reset halt
RCLK not supported - fallback to 1000 kHz
JTAG tap: omap3530.jrc tap/device found: 0x0b7ae02f (mfg: 0x017, part:
0xb7ae, ver: 0x0)
JTAG tap: omap3530.dap enabled
omap3530.cpu: hardware has 6 breakpoints, 2 watchpoints
omap3530.cpu: ran after reset and before halt ...
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x600001d3 pc: 0x402025cc
MMU: disabled, D-Cache: disabled, I-Cache: enabled
> scan_chain
TapName Enabled IdCode Expected IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 omap3530.dsp n 0x00000000 0x00000000 38 0x25 0x3f
1 omap3530.dap Y 0x00000000 0x0b6d602f 4 0x01 0x0f
2 omap3530.jrc Y 0x0b7ae02f 0x0b7ae02f 6 0x01 0x3f
>
-- cut --
* Regarding above question "What was it trying to access when it got
those [sticky] errors?" I enabled --debug and got stuff below [1].
Does this help?
Best regards
Dirk
[1] Output of
openocd -s lib/openocd/ -f interface/flyswatter.cfg -f
board/ti_beagleboard.cfg --debug
regarding sticky errors reported above:
...
Debug: 578 133 arm_adi_v5.c:960 ahbap_debugport_init():
Debug: 579 141 arm_adi_v5.c:1005 ahbap_debugport_init(): AHB-AP ID
Register 0x14770001, Debug ROM Address 0xffffffff
Debug: 580 156 cortex_a8.c:1502 cortex_a8_examine_first(): cpuid =
0x411fc082
Debug: 581 156 cortex_a8.c:1503 cortex_a8_examine_first(): ctypr =
0x80048004
Debug: 582 156 cortex_a8.c:1504 cortex_a8_examine_first(): ttypr =
0x00202001
Debug: 583 156 cortex_a8.c:1505 cortex_a8_examine_first(): didr =
0x15141012
Info : 584 156 arm_dpm.c:874 arm_dpm_setup(): omap3530.cpu: hardware
has 6 breakpoints, 2 watchpoints
Debug: 585 156 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 54011140
Debug: 586 158 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 587 158 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011140
Error: 588 158 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 589 160 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 590 161 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
Debug: 591 161 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 54011144
Debug: 592 163 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 593 163 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011140
Error: 594 163 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 595 168 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 596 169 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
Debug: 597 169 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 54011148
Debug: 598 171 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 599 171 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011140
Error: 600 171 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 601 177 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 602 179 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
Debug: 603 179 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 5401114c
Debug: 604 184 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 605 184 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011140
Error: 606 184 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 607 185 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 608 187 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011140
Debug: 609 187 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 54011150
Debug: 610 192 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 611 192 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011150
Error: 612 192 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 613 193 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 614 195 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011150
Debug: 615 195 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 54011154
Debug: 616 200 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 617 200 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x54011150
Error: 618 200 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 619 201 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 620 203 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x54011150
Debug: 621 203 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 540111c0
Debug: 622 234 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 623 234 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x540111c0
Error: 624 234 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 625 240 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 626 242 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x540111c0
Debug: 627 242 cortex_a8.c:518 cortex_a8_bpwp_disable(): A8: bpwp
disable, cr 540111c4
Debug: 628 248 arm_adi_v5.c:243 swjdp_transaction_endcheck(): swjdp:
CTRL/STAT error 0xf0000021
Error: 629 248 arm_adi_v5.c:254 swjdp_transaction_endcheck(): AHBAP
Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0x540111c0
Error: 630 248 arm_adi_v5.c:259 swjdp_transaction_endcheck(): SWJ-DP
STICKY ERROR
Debug: 631 248 arm_adi_v5.c:267 swjdp_transaction_endcheck(): swjdp:
status 0xf0000001
Error: 632 250 arm_adi_v5.c:273 swjdp_transaction_endcheck(): Read
MEM_AP_CSW 0x2800042, MEM_AP_TAR 0x540111c0
Debug: 633 250 cortex_a8.c:1528 cortex_a8_examine_first(): Configured
6 hw breakpoints
Debug: 634 250 cortex_a8.c:73 cortex_a8_init_debug_access():
Debug: 635 262 command.c:114 script_debug(): command - ocd_command
...
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development