summaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
Diffstat (limited to 'src/target')
-rw-r--r--src/target/cortex_a9.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/target/cortex_a9.c b/src/target/cortex_a9.c
index c13d41c8..3ad7a7d3 100644
--- a/src/target/cortex_a9.c
+++ b/src/target/cortex_a9.c
@@ -1522,6 +1522,12 @@ static int cortex_a9_read_phys_memory(struct target *target,
int nbytes = count * size;
uint32_t data;
+ if (target->state != TARGET_HALTED)
+ {
+ LOG_WARNING("target not halted");
+ return ERROR_TARGET_NOT_HALTED;
+ }
+
/* save registers r0 and r1, we are going to corrupt them */
retval = cortex_a9_dap_read_coreregister_u32(target, &saved_r0, 0);
if (retval != ERROR_OK)
@@ -1630,6 +1636,12 @@ static int cortex_a9_write_phys_memory(struct target *target,
int nbytes = count * size;
uint32_t data;
+ if (target->state != TARGET_HALTED)
+ {
+ LOG_WARNING("target not halted");
+ return ERROR_TARGET_NOT_HALTED;
+ }
+
/* save registers r0 and r1, we are going to corrupt them */
retval = cortex_a9_dap_read_coreregister_u32(target, &saved_r0, 0);
if (retval != ERROR_OK)