aboutsummaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
Diffstat (limited to 'src/target')
-rw-r--r--src/target/armv4_5.c2
-rw-r--r--src/target/armv7m.c3
-rw-r--r--src/target/dsp563xx.c2
-rw-r--r--src/target/mips32.c2
-rw-r--r--src/target/stm8.c2
5 files changed, 10 insertions, 1 deletions
diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c
index 6c30acc..30aeb43 100644
--- a/src/target/armv4_5.c
+++ b/src/target/armv4_5.c
@@ -1355,6 +1355,8 @@ int armv4_5_run_algorithm_inner(struct target *target,
cpsr = buf_get_u32(arm->cpsr->value, 0, 32);
for (i = 0; i < num_mem_params; i++) {
+ if (mem_params[i].direction == PARAM_IN)
+ continue;
retval = target_write_buffer(target, mem_params[i].address, mem_params[i].size,
mem_params[i].value);
if (retval != ERROR_OK)
diff --git a/src/target/armv7m.c b/src/target/armv7m.c
index ecca0e7..ef00b94 100644
--- a/src/target/armv7m.c
+++ b/src/target/armv7m.c
@@ -379,7 +379,8 @@ int armv7m_start_algorithm(struct target *target,
}
for (int i = 0; i < num_mem_params; i++) {
- /* TODO: Write only out params */
+ if (mem_params[i].direction == PARAM_IN)
+ continue;
retval = target_write_buffer(target, mem_params[i].address,
mem_params[i].size,
mem_params[i].value);
diff --git a/src/target/dsp563xx.c b/src/target/dsp563xx.c
index e7306d2..8991616 100644
--- a/src/target/dsp563xx.c
+++ b/src/target/dsp563xx.c
@@ -1387,6 +1387,8 @@ static int dsp563xx_run_algorithm(struct target *target,
}
for (i = 0; i < num_mem_params; i++) {
+ if (mem_params[i].direction == PARAM_IN)
+ continue;
retval = target_write_buffer(target, mem_params[i].address,
mem_params[i].size, mem_params[i].value);
if (retval != ERROR_OK)
diff --git a/src/target/mips32.c b/src/target/mips32.c
index abb4255..9ac2507 100644
--- a/src/target/mips32.c
+++ b/src/target/mips32.c
@@ -461,6 +461,8 @@ int mips32_run_algorithm(struct target *target, int num_mem_params,
}
for (int i = 0; i < num_mem_params; i++) {
+ if (mem_params[i].direction == PARAM_IN)
+ continue;
retval = target_write_buffer(target, mem_params[i].address,
mem_params[i].size, mem_params[i].value);
if (retval != ERROR_OK)
diff --git a/src/target/stm8.c b/src/target/stm8.c
index f5df248..b62ff13 100644
--- a/src/target/stm8.c
+++ b/src/target/stm8.c
@@ -1890,6 +1890,8 @@ static int stm8_run_algorithm(struct target *target, int num_mem_params,
}
for (int i = 0; i < num_mem_params; i++) {
+ if (mem_params[i].direction == PARAM_IN)
+ continue;
retval = target_write_buffer(target, mem_params[i].address,
mem_params[i].size, mem_params[i].value);
if (retval != ERROR_OK)