I’m using openOCD to debug code running on am335x (mmu enabled) . When I halt and try to read a virtual address, I get a JTAG-DP STICKY ERROR.
However, if I try to read the virtual address as if it were a physical address (i.e. using mdw phys), I get a successful read and openOCD displays the correct data.
> halt
Halted
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x20000093 pc: 0xc001a15c
MMU: enabled, D-Cache: enabled, I-Cache: enabled
> mdw 0xc004a524
JTAG-DP STICKY ERROR
MEM_AP_CSW 0x2800052, MEM_AP_TAR 0x55555528
JTAG-DP STICKY ERROR
MEM_AP_CSW 0x2800052, MEM_AP_TAR 0x55555528
Block read error address 0x55555528
in procedure 'mdw'
> mdw phys 0xc004a524
0xc004a524: e92d4810
>
This also seems to translate to problems using GDB. When I halt/break using GBD, I experience what looks to be the identical issue.
What can cause this problem? Anyway to fix or work-around this?