fallback for no implementation of multi word CFI write. Successful codepath not affected.
git-svn-id: svn://svn.berlios.de/openocd/trunk@711 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
d52d7f69be
commit
996acf082c
|
@ -1738,21 +1738,25 @@ int cfi_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
|
||||||
/* fall back to memory writes */
|
/* fall back to memory writes */
|
||||||
while (count >= bank->bus_width)
|
while (count >= bank->bus_width)
|
||||||
{
|
{
|
||||||
|
int fallback;
|
||||||
if ((write_p & 0xff) == 0)
|
if ((write_p & 0xff) == 0)
|
||||||
{
|
{
|
||||||
LOG_INFO("Programming at %08x, count %08x bytes remaining", write_p, count);
|
LOG_INFO("Programming at %08x, count %08x bytes remaining", write_p, count);
|
||||||
}
|
}
|
||||||
|
fallback = 1;
|
||||||
if ((bufferwsize > 0) && (count >= buffersize) && !(write_p & buffermask))
|
if ((bufferwsize > 0) && (count >= buffersize) && !(write_p & buffermask))
|
||||||
{
|
{
|
||||||
retval = cfi_write_words(bank, buffer, bufferwsize, write_p);
|
retval = cfi_write_words(bank, buffer, bufferwsize, write_p);
|
||||||
if (retval != ERROR_OK)
|
if (retval == ERROR_OK)
|
||||||
return retval;
|
{
|
||||||
|
buffer += buffersize;
|
||||||
buffer += buffersize;
|
write_p += buffersize;
|
||||||
write_p += buffersize;
|
count -= buffersize;
|
||||||
count -= buffersize;
|
fallback=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
/* try the slow way? */
|
||||||
|
if (fallback)
|
||||||
{
|
{
|
||||||
for (i = 0; i < bank->bus_width; i++)
|
for (i = 0; i < bank->bus_width; i++)
|
||||||
current_word[i] = 0;
|
current_word[i] = 0;
|
||||||
|
|
Loading…
Reference in New Issue