diff options
-rw-r--r-- | src/target/target.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c index 0dbce9ae..56d9eee5 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1014,6 +1014,15 @@ int target_run_flash_async_algorithm(struct target *target, retval = retval2; } + if (retval == ERROR_OK) { + /* check if algorithm set rp = 0 after fifo writer loop finished */ + retval = target_read_u32(target, rp_addr, &rp); + if (retval == ERROR_OK && rp == 0) { + LOG_ERROR("flash write algorithm aborted by target"); + retval = ERROR_FLASH_OPERATION_FAILED; + } + } + return retval; } |