#endif
#include "flash.h"
-#include "command.h"
-#include "target.h"
-#include "time_support.h"
-#include "fileio.h"
#include "image.h"
-#include "log.h"
-#include "armv4_5.h"
-#include "algorithm.h"
-#include "binarybuffer.h"
-#include "armv7m.h"
-
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
+#include "time_support.h"
+
#include <inttypes.h>
/* command handlers */
extern flash_driver_t lpc2000_flash;
extern flash_driver_t cfi_flash;
extern flash_driver_t at91sam7_flash;
-extern flash_driver_t at91sam7_old_flash;
extern flash_driver_t str7x_flash;
extern flash_driver_t str9x_flash;
extern flash_driver_t aduc702x_flash;
&lpc2000_flash,
&cfi_flash,
&at91sam7_flash,
- &at91sam7_old_flash,
&str7x_flash,
&str9x_flash,
&aduc702x_flash,
u32 pattern;
u32 count;
u8 chunk[1024];
+ u8 readback[1024];
u32 wrote = 0;
u32 cur_size = 0;
u32 chunk_count;
err = flash_driver_write(bank, chunk, address - bank->base + wrote, cur_size);
if (err!=ERROR_OK)
return err;
+
+ err = target_read_buffer(target, address + wrote, cur_size, readback);
+ if (err!=ERROR_OK)
+ return err;
+
+ unsigned i;
+ for (i=0; i<cur_size; i++)
+ {
+ if (readback[i]!=chunk[i])
+ {
+ LOG_ERROR("Verfication error address 0x%08x, read back 0x%02x, expected 0x%02x", address + wrote + i, readback[i], chunk[i]);
+ return ERROR_FAIL;
+ }
+ }
+
}
if ((retval = duration_stop_measure(&duration, &duration_text)) != ERROR_OK)