Skip to content
  • David Brownell's avatar
    Cortex-M3: improved core exception handling · d91941d5
    David Brownell authored
    
    
    This updates three aspects of debugger/exception interactions:
    
     - Save the user's "vector_catch" setting, and restore it after reset.
       Previously, it was obliterated (rather annoyingly) each time.
    
     - Don't catch BusFault and HardFault exceptions unless the user says
       to do so.  Target firmware may need to handle them.
    
     - Don't modify SHCSR to prevent escalating BusFault to HardFault.
       Target firmware may expect to handle it as a HardFault.
    
    Those simplifications fix several bugs.  In one annoying case, OpenOCD
    would cause the target to lock up on ome faults which triggered after
    the debugger disconnected.
    
    NOTE:  a known remaining issue is that OpenOCD can still leave DEMCR
    set after an otherwise-clean OpenOCD shutdown.
    
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    d91941d5