aboutsummaryrefslogtreecommitdiff
path: root/src/target/dsp563xx.h
diff options
context:
space:
mode:
authorBernhard Kiesbauer <bernhard@kiesbauer.com>2013-07-01 21:27:05 +0200
committerSpencer Oliver <spen@spen-soft.co.uk>2013-07-15 10:05:15 +0000
commitbbb0896cffe0f7643e8cc17328a62b54934f2e8b (patch)
treee094790f27b33a45e2a07b1581ed079c738d0aac /src/target/dsp563xx.h
parente608ced3300141e564e4880a9ae0d4880baa2f3f (diff)
dsp563xx: Adding breakpoint/watchpoint support.
Added missing breakpoint/watchpoint implementation to dsp563xx target. Implementation is not yet complete, which means it does not leverage all available features of the once debug interface. This does NOT use the openocd breakpoint/watchpoint command because of the "special" memory address spaces (X/Y/P/L) of the 56k DSP series. Change-Id: I6840a3ff1e6fdebb38ab7758f164886aff773af6 Signed-off-by: Bernhard Kiesbauer <bernhard@kiesbauer.com> Reviewed-on: http://openocd.zylin.com/1468 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/target/dsp563xx.h')
-rw-r--r--src/target/dsp563xx.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/target/dsp563xx.h b/src/target/dsp563xx.h
index b2ee9d1f..446ad3f5 100644
--- a/src/target/dsp563xx.h
+++ b/src/target/dsp563xx.h
@@ -31,6 +31,16 @@ struct mcu_jtag {
struct jtag_tap *tap;
};
+enum breakpoint_usage {
+ BPU_NONE = 0,
+ BPU_BREAKPOINT,
+ BPU_WATCHPOINT
+};
+
+struct hardware_breakpoint {
+ enum breakpoint_usage used;
+};
+
struct dsp563xx_common {
struct mcu_jtag jtag_info;
struct reg_cache *core_cache;
@@ -40,6 +50,11 @@ struct dsp563xx_common {
/* register cache to processor synchronization */
int (*read_core_reg) (struct target *target, int num);
int (*write_core_reg) (struct target *target, int num);
+
+ struct hardware_breakpoint hardware_breakpoint[1];
+
+ /*Were the hardware breakpoints cleared on startup?*/
+ int hardware_breakpoints_cleared;
};
struct dsp563xx_core_reg {