flash: fix bug with multiple back-to-back flash chips
flash programming via flash write_image or gdb load would produce a bogus error message that the flash chip was to small. The solution is to limit the current flash programming run to the current chip. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>__archive__
parent
52558354e6
commit
2b546fdc45
|
@ -654,9 +654,13 @@ int flash_write_unlock(struct target *target, struct image *image,
|
|||
|
||||
if (run_address + run_size - 1 > c->base + c->size - 1)
|
||||
{
|
||||
LOG_ERROR("The image is too big for the flash");
|
||||
retval = ERROR_FAIL;
|
||||
goto done;
|
||||
/* If we have more than one flash chip back to back, then we limit
|
||||
* the current write operation to the current chip.
|
||||
*/
|
||||
LOG_DEBUG("Truncate flash run size to the current flash chip.");
|
||||
|
||||
run_size = c->base + c->size - run_address;
|
||||
assert(run_size > 0);
|
||||
}
|
||||
|
||||
/* If we're applying any sector automagic, then pad this
|
||||
|
|
Loading…
Reference in New Issue