stm32: fix unprotect
the unprotect fn in stm32 needs to unprotect more sectors than was requested aligned to some boundary. Print warning when this happens. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
parent
39dbb516a4
commit
969b1e66dd
|
@ -487,12 +487,19 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
|
||||||
return ERROR_TARGET_NOT_HALTED;
|
return ERROR_TARGET_NOT_HALTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((first && (first % stm32x_info->ppage_size)) || ((last + 1) &&
|
if ((first % stm32x_info->ppage_size) != 0)
|
||||||
(last + 1) % stm32x_info->ppage_size))
|
|
||||||
{
|
{
|
||||||
LOG_WARNING("Error: start and end sectors must be on a %d sector boundary",
|
LOG_WARNING("aligned start protect sector to a %d sector boundary",
|
||||||
stm32x_info->ppage_size);
|
stm32x_info->ppage_size);
|
||||||
return ERROR_FLASH_SECTOR_INVALID;
|
first = first - (first % stm32x_info->ppage_size);
|
||||||
|
}
|
||||||
|
if (((last + 1) % stm32x_info->ppage_size) != 0)
|
||||||
|
{
|
||||||
|
LOG_WARNING("aligned end protect sector to a %d sector boundary",
|
||||||
|
stm32x_info->ppage_size);
|
||||||
|
last++;
|
||||||
|
last = last - (last % stm32x_info->ppage_size);
|
||||||
|
last--;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* medium density - each bit refers to a 4bank protection
|
/* medium density - each bit refers to a 4bank protection
|
||||||
|
|
Loading…
Reference in New Issue