mdebug

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit e2207b87cb4a174612b3deb8760740316ce78c24
parent 309670bcb66c83429ca9db76993828482ab64d09
Author: Brian Swetland <swetland@frotz.net>
Date:   Sun, 28 Jun 2015 10:50:30 -0700

debugger: catch fatal vectors, start making vc configurable

Diffstat:
Mtools/debugger-commands.c | 11+++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/debugger-commands.c b/tools/debugger-commands.c @@ -363,12 +363,15 @@ int do_download(int argc, param *argv) { return 0; } +// vector catch flags to apply +u32 vcflags = DEMCR_VC_HARDERR | DEMCR_VC_BUSERR | DEMCR_VC_STATERR | DEMCR_VC_CHKERR; + int do_reset(int argc, param *argv) { swdp_core_halt(); - swdp_ahb_write(DEMCR, DEMCR_TRCENA); + swdp_ahb_write(DEMCR, DEMCR_TRCENA | vcflags); /* core reset and sys reset */ swdp_ahb_write(0xe000ed0c, 0x05fa0005); - swdp_ahb_write(DEMCR, DEMCR_TRCENA); + swdp_ahb_write(DEMCR, DEMCR_TRCENA | vcflags); return 0; } @@ -383,12 +386,12 @@ int do_reset_hw(int argc, param *argv) { int do_reset_stop(int argc, param *argv) { swdp_core_halt(); // enable vector-trap on reset, enable DWT/FPB - swdp_ahb_write(DEMCR, DEMCR_VC_CORERESET | DEMCR_TRCENA); + swdp_ahb_write(DEMCR, DEMCR_VC_CORERESET | DEMCR_TRCENA | vcflags); // core reset and sys reset swdp_ahb_write(0xe000ed0c, 0x05fa0005); //swdp_core_wait_for_halt(); do_stop(0,0); - swdp_ahb_write(DEMCR, DEMCR_TRCENA); + swdp_ahb_write(DEMCR, DEMCR_TRCENA | vcflags); return 0; }