flash/nor/at91samd: add small delay before checking nvm status
OpenOCD's SWD subsystem doesn't currently have a consistent WAIT handling (i.e. it doesn't ever retry, just returns an error), so right after a row write a small delay is needed as AHB access is stalled during the flashing operation. The issue was exposed with a samd20 using ftdi SWD transport. Change-Id: I07d99d3a96845cc689c3904a41f4d41344f200aa Signed-off-by: Andrej Kazmin <funnyfish@funnyfish.botik.ru> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2268 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>__archive__
parent
30f802493d
commit
7c59257834
|
@ -658,6 +658,9 @@ static int samd_write_row(struct flash_bank *bank, uint32_t address,
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Access through AHB is stalled while flash is being programmed */
|
||||||
|
usleep(200);
|
||||||
|
|
||||||
error = samd_check_error(bank->target);
|
error = samd_check_error(bank->target);
|
||||||
if (error)
|
if (error)
|
||||||
return ERROR_FAIL;
|
return ERROR_FAIL;
|
||||||
|
|
Loading…
Reference in New Issue