Zynq™︎ UltraScale+™︎ (Cortex-A53) deadlock

Hi,

I'm running a single processor application on Cortex-A53 processor (The design based on Arm Zynq Ultrascale+ processor), and occasionally the processor ends up to a deadlock.

When connecting the JTAG, the running Cortex-A53 #0 target cannot be halted. Reading the registers while it is still running produce N/A for everything else, except for the PC. The PC is not random place, as it has been several times the same address, but not always. What I have noticed is 'DSB SY' command is always followed by the PC value. This is not very easy to reproduce, but with some software versions it happens more often than the others.

I'm after any ideas how this should be debugged as I cannot read anything from the running processor itself, but I can access the memory and peripherals via PSU/APU.

Parents
  • It seems the system is in dead lock state.  Generally speaking, some CPU writes or peripheral writes of "DSB SY" cannot finish successfully.
    From software perspective, it may take time to narrow down the offending code piece when the issue happens.
    Maybe you can capture some hardware scandump or waveforms for further debug based on that.

Reply
  • It seems the system is in dead lock state.  Generally speaking, some CPU writes or peripheral writes of "DSB SY" cannot finish successfully.
    From software perspective, it may take time to narrow down the offending code piece when the issue happens.
    Maybe you can capture some hardware scandump or waveforms for further debug based on that.

Children
No data