flash: add error messages upon incorrect arguments to flash iteration
According to OpenOCD error handling rules the error is logged at where it occurs(same site where an exception would have been thrown). Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>__archive__
parent
5ab34b28ce
commit
cdcb9b0885
|
@ -324,14 +324,20 @@ static int flash_iterate_address_range(struct target *target,
|
||||||
{
|
{
|
||||||
/* special case, erase whole bank when length is zero */
|
/* special case, erase whole bank when length is zero */
|
||||||
if (addr != c->base)
|
if (addr != c->base)
|
||||||
|
{
|
||||||
|
LOG_ERROR("Whole bank access must start at beginning of bank.");
|
||||||
return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
|
return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
|
||||||
|
}
|
||||||
|
|
||||||
return callback(c, 0, c->num_sectors - 1);
|
return callback(c, 0, c->num_sectors - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check whether it all fits in this bank */
|
/* check whether it all fits in this bank */
|
||||||
if (addr + length - 1 > c->base + c->size - 1)
|
if (addr + length - 1 > c->base + c->size - 1)
|
||||||
|
{
|
||||||
|
LOG_ERROR("Flash access does not fit into bank.");
|
||||||
return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
|
return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
|
||||||
|
}
|
||||||
|
|
||||||
/** @todo: handle erasures that cross into adjacent banks */
|
/** @todo: handle erasures that cross into adjacent banks */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue