This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CM4: Can processor halt itself by writing DHCSR

Hello,

As part of my diagnostic regime I wanted the diag to halt when completed.  It doesn't seem like it can.  It seems to keep running when I 

  CoreDebug->DHCSR = (0xA05FUL << CoreDebug_DHCSR_DBGKEY_Pos) |
                     CoreDebug_DHCSR_C_HALT_Msk |
                     CoreDebug_DHCSR_C_DEBUGEN_Msk;

Thanks, Tom

Parents
  • [0] bit C_DEBUGEN (register DHCSR) - This can only be written by AHB-AP and not by the core. It is ignored when written by the core, which cannot set or clear it.

    [1] bit C_HALT (register DHCSR) - The core can halt itself, but only if C_DEBUGEN is already 1.

    Try to set C_DEBUGEN in register DHCSR to 1 via debug access port and then halt the processor via setting C_HALT bit to 1 by the Core.

Reply
  • [0] bit C_DEBUGEN (register DHCSR) - This can only be written by AHB-AP and not by the core. It is ignored when written by the core, which cannot set or clear it.

    [1] bit C_HALT (register DHCSR) - The core can halt itself, but only if C_DEBUGEN is already 1.

    Try to set C_DEBUGEN in register DHCSR to 1 via debug access port and then halt the processor via setting C_HALT bit to 1 by the Core.

Children
No data