Browse Source

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>
tags/v0.9.0-rc1
Andrej Kazmin 9 years ago
committed by Andreas Fritiofson
parent
commit
7c59257834
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      src/flash/nor/at91samd.c

+ 3
- 0
src/flash/nor/at91samd.c View File

@@ -658,6 +658,9 @@ static int samd_write_row(struct flash_bank *bank, uint32_t address,
return res;
}

/* Access through AHB is stalled while flash is being programmed */
usleep(200);

error = samd_check_error(bank->target);
if (error)
return ERROR_FAIL;


Loading…
Cancel
Save