aboutsummaryrefslogtreecommitdiff
path: root/src/stm32f1.c
diff options
context:
space:
mode:
authorGareth McMullin2015-03-08 15:02:38 -0700
committerGareth McMullin2015-03-19 21:49:09 -0700
commit8ddb186b35267e90832deb2db4b0c58f77de4b87 (patch)
tree58f6cf40b653374df7086cf6a4cff236a9eacd2c /src/stm32f1.c
parent437aedda11a112407af7b3f7884090023944faef (diff)
Allow stub to return an error code.
Diffstat (limited to 'src/stm32f1.c')
-rw-r--r--src/stm32f1.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/stm32f1.c b/src/stm32f1.c
index 96faf1f..8f7a7d7 100644
--- a/src/stm32f1.c
+++ b/src/stm32f1.c
@@ -256,16 +256,11 @@ static int stm32f1_flash_write(struct target_s *target, uint32_t dest,
memcpy((uint8_t *)data + offset, src, len);
/* Write stub and data to target ram and set PC */
- target_mem_write(target, STUB_BUFFER_BASE, data, sizeof(data));
- cortexm_run_stub(target, SRAM_BASE, stm32f1_flash_write_stub,
- sizeof(stm32f1_flash_write_stub),
- dest - offset, STUB_BUFFER_BASE, sizeof(data), 0);
-
- /* Check for error */
- if (target_mem_read32(target, FLASH_SR) & SR_ERROR_MASK)
- return -1;
-
- return 0;
+ target_mem_write(target, STUB_BUFFER_BASE, (void*)data, sizeof(data));
+ return cortexm_run_stub(target, SRAM_BASE, stm32f1_flash_write_stub,
+ sizeof(stm32f1_flash_write_stub),
+ dest - offset, STUB_BUFFER_BASE, sizeof(data),
+ 0);
}
static bool stm32f1_cmd_erase_mass(target *t)