Changed SAM4S Erase for effective Sector erase
In the previous iteration, the page counter for erases would not be updated with the erase size. This patch keeps the page counter synced with the sector counter. Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com> Change-Id: I95e56a3257b2ad8301c9f28167b842fa6466334f Reviewed-on: http://openocd.zylin.com/686 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
parent
5b0a131594
commit
24a1e7b0fc
|
@ -1678,6 +1678,9 @@ static int sam4_erase(struct flash_bank *bank, int first, int last)
|
|||
struct sam4_bank_private *pPrivate;
|
||||
int r;
|
||||
int i;
|
||||
int pageCount;
|
||||
/*16 pages equals 8KB - Same size as a lock region*/
|
||||
pageCount = 16;
|
||||
uint32_t status;
|
||||
|
||||
LOG_DEBUG("Here");
|
||||
|
@ -1705,7 +1708,7 @@ static int sam4_erase(struct flash_bank *bank, int first, int last)
|
|||
LOG_INFO("sam4 First: 0x%08x Last: 0x%08x", (unsigned int)(first), (unsigned int)(last));
|
||||
for (i = first; i <= last; i++) {
|
||||
/*16 pages equals 8KB - Same size as a lock region*/
|
||||
r = FLASHD_ErasePages(pPrivate, i, 16, &status);
|
||||
r = FLASHD_ErasePages(pPrivate, (i * pageCount), pageCount, &status);
|
||||
LOG_INFO("Erasing sector: 0x%08x", (unsigned int)(i));
|
||||
if (r != ERROR_OK)
|
||||
LOG_ERROR("SAM4: Error performing Erase page @ lock region number %d",
|
||||
|
|
Loading…
Reference in New Issue