/***************************************************************************
- * Copyright (C) 2008 Øyvind Harboe *
+ * Copyright (C) 2007,2008 Øyvind Harboe *
* oyvind.harboe@zylin.com *
* *
* This program is free software; you can redistribute it and/or modify *
int ecosflash_protect(struct flash_bank_s *bank, int set, int first, int last);
int ecosflash_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count);
int ecosflash_probe(struct flash_bank_s *bank);
-int ecosflash_erase_check(struct flash_bank_s *bank);
int ecosflash_protect_check(struct flash_bank_s *bank);
int ecosflash_info(struct flash_bank_s *bank, char *buf, int buf_size);
.write = ecosflash_write,
.probe = ecosflash_probe,
.auto_probe = ecosflash_probe,
- .erase_check = ecosflash_erase_check,
+ .erase_check = default_flash_blank_check,
.protect_check = ecosflash_protect_check,
.info = ecosflash_info
};
image.base_address_set = 0;
image.start_address_set = 0;
target_t *target=info->target;
+ int retval;
- if (image_open(&image, info->driverPath, NULL) != ERROR_OK)
+ if ((retval=image_open(&image, info->driverPath, NULL)) != ERROR_OK)
{
- return ERROR_FLASH_BANK_INVALID;
+ return retval;
}
info->start_address=image.start_address;
int retval;
if ((retval = image_read_section(&image, i, 0x0, image.sections[i].size, buffer, &buf_cnt)) != ERROR_OK)
{
- LOG_ERROR("image_read_section failed with error code: %i", retval);
free(buffer);
image_close(&image);
- return ERROR_FLASH_BANK_INVALID;
+ return retval;
}
target_write_buffer(target, image.sections[i].base_address, buf_cnt, buffer);
image_size += buf_cnt;
if (flashErr != 0x0)
{
LOG_ERROR("Flash erase failed with %d (%s)\n", flashErr, flash_errmsg(flashErr));
- return ERROR_JTAG_DEVICE_ERROR;
+ return ERROR_FAIL;
}
return ERROR_OK;
if (flashErr != 0x0)
{
LOG_ERROR("Flash prog failed with %d (%s)\n", flashErr, flash_errmsg(flashErr));
- return ERROR_JTAG_DEVICE_ERROR;
+ return ERROR_FAIL;
}
}
return ERROR_OK;
}
-int ecosflash_erase_check(struct flash_bank_s *bank)
-{
- return ERROR_OK;
-}
-
int ecosflash_protect_check(struct flash_bank_s *bank)
{
return ERROR_OK;