Cortex A9 freezing

Hi All

I'm having a problem with my A9 based system (Zynq 7000) freezing occasionally, to a point that JTAG can't halt the processor. The issue isn't easily repeatable and when it does happen no debug info can be extracted. The only thing that can be read is the program counter, but even that seems all over the place with different locations for different instances.

First question - what could possibly lead to a critical failure like that? My thinking was around interrupt return address becoming corrupt somehow, but it's just guesswork at the moment.

Second question - how to arrest the problem, so I can at least see the stack trace? Any register I can set a hw watchpoint on?

Any comments are appreciated.

  • Hi ,

    I wonder if a memory load request blocked in the system, or some power management might also cause the symptoms you describe.

    I am not sure if that would help but looking at the Zynq 7000 TRM it seems the DAP does have access to the system interconnect.

    If you are able to tell your debugger to go through the DAP port, you might be able to inspect the (uncached) memory and peripheral MMIO registers.

    Best regards,

    Vincent.

  • Steps to reset -

    The Cortex-A9 processor has the following reset inputs:

    nCPURESET
    The nCPURESET signal is the main Cortex-A9 processor reset. It initializes the Cortex-A9 processor logic and the FPU logic including the FPU register file when the MPE or FPU option is present.

    nNEONRESET
    The nNEONRESET signal is the reset that controls the NEON SIMD independently of the main Cortex-A9 processor reset.

    nDBGRESET
    The nDBGRESET signal is the reset that initializes the debug logic. See Debug.

    All of these are active-LOW signals.

    Regards,

    Rachel Gomez