flash: Constify write buffer
Change-Id: Ic812098d3ed5a2992c26bb57d08ae350e2c5d5d8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2040 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
parent
cd091c3630
commit
565f8481c7
|
@ -144,7 +144,7 @@ static int aduc702x_protect(struct flash_bank *bank, int set, int first, int las
|
|||
* Caller should not check for other return values specifically
|
||||
*/
|
||||
static int aduc702x_write_block(struct flash_bank *bank,
|
||||
uint8_t *buffer,
|
||||
const uint8_t *buffer,
|
||||
uint32_t offset,
|
||||
uint32_t count)
|
||||
{
|
||||
|
@ -285,7 +285,7 @@ static int aduc702x_write_block(struct flash_bank *bank,
|
|||
/* All-JTAG, single-access method. Very slow. Used only if there is no
|
||||
* working area available. */
|
||||
static int aduc702x_write_single(struct flash_bank *bank,
|
||||
uint8_t *buffer,
|
||||
const uint8_t *buffer,
|
||||
uint32_t offset,
|
||||
uint32_t count)
|
||||
{
|
||||
|
@ -326,7 +326,7 @@ static int aduc702x_write_single(struct flash_bank *bank,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int aduc702x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int aduc702x_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
int retval;
|
||||
|
||||
|
|
|
@ -3285,7 +3285,7 @@ static const uint8_t
|
|||
0x00, 0xBE /* bkpt #0 */
|
||||
};
|
||||
|
||||
static int sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
|
||||
static int sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, const uint8_t *buf)
|
||||
{
|
||||
uint32_t adr;
|
||||
uint32_t status;
|
||||
|
@ -3344,7 +3344,7 @@ static int sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum,
|
|||
}
|
||||
|
||||
static int sam3_write(struct flash_bank *bank,
|
||||
uint8_t *buffer,
|
||||
const uint8_t *buffer,
|
||||
uint32_t offset,
|
||||
uint32_t count)
|
||||
{
|
||||
|
|
|
@ -1877,7 +1877,7 @@ static int sam4_page_read(struct sam4_bank_private *pPrivate, unsigned pagenum,
|
|||
return r;
|
||||
}
|
||||
|
||||
static int sam4_page_write(struct sam4_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
|
||||
static int sam4_page_write(struct sam4_bank_private *pPrivate, unsigned pagenum, const uint8_t *buf)
|
||||
{
|
||||
uint32_t adr;
|
||||
uint32_t status;
|
||||
|
@ -1939,7 +1939,7 @@ static int sam4_page_write(struct sam4_bank_private *pPrivate, unsigned pagenum,
|
|||
}
|
||||
|
||||
static int sam4_write(struct flash_bank *bank,
|
||||
uint8_t *buffer,
|
||||
const uint8_t *buffer,
|
||||
uint32_t offset,
|
||||
uint32_t count)
|
||||
{
|
||||
|
|
|
@ -495,7 +495,7 @@ static int sam4l_erase(struct flash_bank *bank, int first, int last)
|
|||
/* Write an entire page from host buffer 'buf' to page-aligned 'address' in the
|
||||
* Flash. */
|
||||
static int sam4l_write_page(struct sam4l_info *chip, struct target *target,
|
||||
uint32_t address, uint8_t *buf)
|
||||
uint32_t address, const uint8_t *buf)
|
||||
{
|
||||
int res;
|
||||
|
||||
|
@ -527,7 +527,7 @@ static int sam4l_write_page(struct sam4l_info *chip, struct target *target,
|
|||
/* Write partial contents into page-aligned 'address' on the Flash from host
|
||||
* buffer 'buf' by writing 'nb' of 'buf' at 'offset' into the Flash page. */
|
||||
static int sam4l_write_page_partial(struct sam4l_info *chip,
|
||||
struct flash_bank *bank, uint32_t address, uint8_t *buf,
|
||||
struct flash_bank *bank, uint32_t address, const uint8_t *buf,
|
||||
uint32_t page_offset, uint32_t nb)
|
||||
{
|
||||
int res;
|
||||
|
@ -556,7 +556,7 @@ static int sam4l_write_page_partial(struct sam4l_info *chip,
|
|||
return res;
|
||||
}
|
||||
|
||||
static int sam4l_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int sam4l_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
int res;
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
#define FLASH_SIZE_2048KB 14
|
||||
|
||||
static int at91sam7_protect_check(struct flash_bank *bank);
|
||||
static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
|
||||
static int at91sam7_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset,
|
||||
uint32_t count);
|
||||
|
||||
static uint32_t at91sam7_get_flash_status(struct target *target, int bank_number);
|
||||
|
@ -954,7 +954,7 @@ static int at91sam7_protect(struct flash_bank *bank, int set, int first, int las
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int at91sam7_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
int retval;
|
||||
struct at91sam7_flash_bank *at91sam7_info = bank->driver_priv;
|
||||
|
|
|
@ -385,7 +385,7 @@ static int samd_erase(struct flash_bank *bank, int first, int last)
|
|||
/* Write an entire row (four pages) from host buffer 'buf' to row-aligned
|
||||
* 'address' in the Flash. */
|
||||
static int samd_write_row(struct flash_bank *bank, uint32_t address,
|
||||
uint8_t *buf)
|
||||
const uint8_t *buf)
|
||||
{
|
||||
int res;
|
||||
struct samd_info *chip = (struct samd_info *)bank->driver_priv;
|
||||
|
@ -424,7 +424,7 @@ static int samd_write_row(struct flash_bank *bank, uint32_t address,
|
|||
/* Write partial contents into row-aligned 'address' on the Flash from host
|
||||
* buffer 'buf' by writing 'nb' of 'buf' at 'row_offset' into the Flash row. */
|
||||
static int samd_write_row_partial(struct flash_bank *bank, uint32_t address,
|
||||
uint8_t *buf, uint32_t row_offset, uint32_t nb)
|
||||
const uint8_t *buf, uint32_t row_offset, uint32_t nb)
|
||||
{
|
||||
int res;
|
||||
struct samd_info *chip = (struct samd_info *)bank->driver_priv;
|
||||
|
@ -453,7 +453,7 @@ static int samd_write_row_partial(struct flash_bank *bank, uint32_t address,
|
|||
return res;
|
||||
}
|
||||
|
||||
static int samd_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int samd_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
int res;
|
||||
|
|
|
@ -142,7 +142,7 @@ static int avr_jtagprg_chiperase(struct avr_common *avr)
|
|||
}
|
||||
|
||||
static int avr_jtagprg_writeflashpage(struct avr_common *avr,
|
||||
uint8_t *page_buf,
|
||||
const uint8_t *page_buf,
|
||||
uint32_t buf_size,
|
||||
uint32_t addr,
|
||||
uint32_t page_size)
|
||||
|
@ -239,7 +239,7 @@ static int avrf_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int avrf_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int avrf_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
struct avr_common *avr = target->arch_info;
|
||||
|
|
|
@ -1126,7 +1126,7 @@ static uint32_t cfi_command_val(struct flash_bank *bank, uint8_t cmd)
|
|||
}
|
||||
}
|
||||
|
||||
static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int cfi_intel_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t address, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -1379,7 +1379,7 @@ cleanup:
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int cfi_spansion_write_block_mips(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t address, uint32_t count)
|
||||
{
|
||||
struct cfi_flash_bank *cfi_info = bank->driver_priv;
|
||||
|
@ -1592,7 +1592,7 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int cfi_spansion_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t address, uint32_t count)
|
||||
{
|
||||
struct cfi_flash_bank *cfi_info = bank->driver_priv;
|
||||
|
@ -2002,7 +2002,7 @@ static int cfi_intel_write_word(struct flash_bank *bank, uint8_t *word, uint32_t
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int cfi_intel_write_words(struct flash_bank *bank, uint8_t *word,
|
||||
static int cfi_intel_write_words(struct flash_bank *bank, const uint8_t *word,
|
||||
uint32_t wordcount, uint32_t address)
|
||||
{
|
||||
int retval;
|
||||
|
@ -2122,7 +2122,7 @@ static int cfi_spansion_write_word(struct flash_bank *bank, uint8_t *word, uint3
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int cfi_spansion_write_words(struct flash_bank *bank, uint8_t *word,
|
||||
static int cfi_spansion_write_words(struct flash_bank *bank, const uint8_t *word,
|
||||
uint32_t wordcount, uint32_t address)
|
||||
{
|
||||
int retval;
|
||||
|
@ -2215,7 +2215,7 @@ static int cfi_write_word(struct flash_bank *bank, uint8_t *word, uint32_t addre
|
|||
return ERROR_FLASH_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
static int cfi_write_words(struct flash_bank *bank, uint8_t *word,
|
||||
static int cfi_write_words(struct flash_bank *bank, const uint8_t *word,
|
||||
uint32_t wordcount, uint32_t address)
|
||||
{
|
||||
struct cfi_flash_bank *cfi_info = bank->driver_priv;
|
||||
|
@ -2312,7 +2312,7 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct cfi_flash_bank *cfi_info = bank->driver_priv;
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -137,7 +137,7 @@ struct flash_driver {
|
|||
* @returns ERROR_OK if successful; otherwise, an error code.
|
||||
*/
|
||||
int (*write)(struct flash_bank *bank,
|
||||
uint8_t *buffer, uint32_t offset, uint32_t count);
|
||||
const uint8_t *buffer, uint32_t offset, uint32_t count);
|
||||
|
||||
/**
|
||||
* Read data from the flash. Note CPU address will be
|
||||
|
|
|
@ -156,7 +156,7 @@ static int dsp5680xx_flash_protect(struct flash_bank *bank, int set, int first,
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
static int dsp5680xx_flash_write(struct flash_bank *bank, uint8_t * buffer,
|
||||
static int dsp5680xx_flash_write(struct flash_bank *bank, const uint8_t* buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
int retval;
|
||||
|
|
|
@ -98,7 +98,7 @@ struct efm32_info {
|
|||
uint16_t page_size;
|
||||
};
|
||||
|
||||
static int efm32x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int efm32x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count);
|
||||
|
||||
static int efm32x_get_flash_size(struct flash_bank *bank, uint16_t *flash_sz)
|
||||
|
@ -499,7 +499,7 @@ static int efm32x_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int efm32x_write_block(struct flash_bank *bank, uint8_t *buf,
|
||||
static int efm32x_write_block(struct flash_bank *bank, const uint8_t *buf,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -735,7 +735,7 @@ static int efm32x_write_word(struct flash_bank *bank, uint32_t addr,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int efm32x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int efm32x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -455,7 +455,7 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return em357_write_options(bank);
|
||||
}
|
||||
|
||||
static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int em357_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -583,7 +583,7 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int em357_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int em357_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -93,7 +93,7 @@ static int faux_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int faux_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int faux_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct faux_flash_bank *info = bank->driver_priv;
|
||||
memcpy(info->memory + offset, buffer, count);
|
||||
|
|
|
@ -347,7 +347,7 @@ static int fm3_erase(struct flash_bank *bank, int first, int last)
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int fm3_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int fm3_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct fm3_flash_bank *fm3_info = bank->driver_priv;
|
||||
|
|
|
@ -278,7 +278,7 @@ static const uint8_t kinetis_flash_write_code[] = {
|
|||
};
|
||||
|
||||
/* Program LongWord Block Write */
|
||||
static int kinetis_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int kinetis_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t wcount)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -586,7 +586,7 @@ static int kinetis_erase(struct flash_bank *bank, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int kinetis_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int kinetis_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
unsigned int i, result, fallback = 0;
|
||||
|
|
|
@ -711,7 +711,7 @@ static int lpc2000_protect(struct flash_bank *bank, int set, int first, int last
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int lpc2000_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
||||
|
@ -746,6 +746,7 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
|
|||
|
||||
/* check if exception vectors should be flashed */
|
||||
if ((offset == 0) && (count >= 0x20) && lpc2000_info->calc_checksum) {
|
||||
assert(lpc2000_info->checksum_vector < 8);
|
||||
uint32_t checksum = 0;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
LOG_DEBUG("Vector 0x%2.2x: 0x%8.8" PRIx32, i * 4, buf_get_u32(buffer + (i * 4), 0, 32));
|
||||
|
@ -763,7 +764,8 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
|
|||
"checksum.");
|
||||
}
|
||||
|
||||
buf_set_u32(buffer + (lpc2000_info->checksum_vector * 4), 0, 32, checksum);
|
||||
/* FIXME: WARNING! This code is broken because it modifies the callers buffer in place. */
|
||||
buf_set_u32((uint8_t *)buffer + (lpc2000_info->checksum_vector * 4), 0, 32, checksum);
|
||||
}
|
||||
|
||||
struct working_area *iap_working_area;
|
||||
|
|
|
@ -277,7 +277,7 @@ static int lpc288x_erase(struct flash_bank *bank, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int lpc288x_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
uint8_t page_buffer[FLASH_PAGE_SIZE];
|
||||
uint32_t status, source_offset, dest_offset;
|
||||
|
|
|
@ -1058,7 +1058,7 @@ static int lpc2900_protect(struct flash_bank *bank, int set, int first, int last
|
|||
* @param offset Start address (relative to bank start)
|
||||
* @param count Number of bytes to be programmed
|
||||
*/
|
||||
static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int lpc2900_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
uint8_t page[FLASH_PAGE_SIZE];
|
||||
|
@ -1186,7 +1186,7 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
|
|||
/* Write to flash in large blocks */
|
||||
while (count != 0) {
|
||||
uint32_t this_npages;
|
||||
uint8_t *this_buffer;
|
||||
const uint8_t *this_buffer;
|
||||
int start_sector = lpc2900_address2sector(bank, offset);
|
||||
|
||||
/* First page / last page / rest */
|
||||
|
|
|
@ -581,7 +581,7 @@ static int lpcspifi_protect(struct flash_bank *bank, int set,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int lpcspifi_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int lpcspifi_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -223,7 +223,7 @@ static int mdr_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int mdr_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int mdr_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -314,7 +314,7 @@ static int mdr_write_block(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int mdr_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int mdr_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -345,7 +345,7 @@ static int mdr_write(struct flash_bank *bank, uint8_t *buffer,
|
|||
LOG_INFO("odd number of bytes to write, padding with 0xff");
|
||||
buffer = memcpy(new_buffer, buffer, count);
|
||||
while (rem--)
|
||||
buffer[count++] = 0xff;
|
||||
new_buffer[count++] = 0xff;
|
||||
}
|
||||
|
||||
uint32_t flash_cmd, cur_per_clock;
|
||||
|
|
|
@ -312,7 +312,7 @@ static int mini51_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_FLASH_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
static int mini51_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int mini51_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
int status;
|
||||
int timeout;
|
||||
|
|
|
@ -429,7 +429,7 @@ static int nrf51_erase_page(struct nrf51_info *chip, struct flash_sector *sector
|
|||
return res;
|
||||
}
|
||||
|
||||
static int nrf51_write_page(struct flash_bank *bank, uint32_t offset, uint8_t *buffer)
|
||||
static int nrf51_write_page(struct flash_bank *bank, uint32_t offset, const uint8_t *buffer)
|
||||
{
|
||||
assert(offset % 4 == 0);
|
||||
|
||||
|
@ -484,7 +484,7 @@ static int nrf51_erase(struct flash_bank *bank, int first, int last)
|
|||
return res;
|
||||
}
|
||||
|
||||
static int nrf51_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int nrf51_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
int res;
|
||||
|
@ -502,7 +502,7 @@ static int nrf51_write(struct flash_bank *bank, uint8_t *buffer,
|
|||
|
||||
struct {
|
||||
size_t length;
|
||||
uint8_t *buffer;
|
||||
const uint8_t *buffer;
|
||||
} start_extra, end_extra;
|
||||
|
||||
start_extra.length = region.start % chip->code_page_size;
|
||||
|
|
|
@ -378,7 +378,7 @@ static int nuc1x_erase(struct flash_bank *bank, int first, int last)
|
|||
}
|
||||
|
||||
/* The write routine stub. */
|
||||
static int nuc1x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int nuc1x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -118,7 +118,7 @@ static int ocl_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int ocl_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct ocl_priv *ocl = bank->driver_priv;
|
||||
int retval;
|
||||
|
|
|
@ -410,7 +410,7 @@ static uint32_t pic32mx_flash_write_code[] = {
|
|||
0x00000000 /* nop */
|
||||
};
|
||||
|
||||
static int pic32mx_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int pic32mx_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -571,7 +571,7 @@ static int pic32mx_write_word(struct flash_bank *bank, uint32_t address, uint32_
|
|||
return pic32mx_nvm_exec(bank, NVMCON_OP_WORD_PROG, 5);
|
||||
}
|
||||
|
||||
static int pic32mx_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int pic32mx_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
uint32_t words_remaining = (count / 4);
|
||||
uint32_t bytes_remaining = (count & 0x00000003);
|
||||
|
|
|
@ -997,7 +997,7 @@ static const uint8_t stellaris_write_code[] = {
|
|||
0x01, 0x00, 0x42, 0xA4 /* .word 0xA4420001 */
|
||||
};
|
||||
static int stellaris_write_block(struct flash_bank *bank,
|
||||
uint8_t *buffer, uint32_t offset, uint32_t wcount)
|
||||
const uint8_t *buffer, uint32_t offset, uint32_t wcount)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
uint32_t buffer_size = 16384;
|
||||
|
@ -1078,7 +1078,7 @@ static int stellaris_write_block(struct flash_bank *bank,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int stellaris_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stellaris_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct stellaris_flash_bank *stellaris_info = bank->driver_priv;
|
||||
|
|
|
@ -130,7 +130,7 @@ struct stm32x_flash_bank {
|
|||
|
||||
static int stm32x_mass_erase(struct flash_bank *bank);
|
||||
static int stm32x_get_device_id(struct flash_bank *bank, uint32_t *device_id);
|
||||
static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32x_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count);
|
||||
|
||||
/* flash bank stm32x <base> <size> 0 0 <target#>
|
||||
|
@ -561,7 +561,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return stm32x_write_options(bank);
|
||||
}
|
||||
|
||||
static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32x_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct stm32x_flash_bank *stm32x_info = bank->driver_priv;
|
||||
|
@ -692,7 +692,7 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -720,7 +720,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
|
|||
}
|
||||
LOG_INFO("odd number of bytes to write, padding with 0xff");
|
||||
buffer = memcpy(new_buffer, buffer, count);
|
||||
buffer[count++] = 0xff;
|
||||
new_buffer[count++] = 0xff;
|
||||
}
|
||||
|
||||
uint32_t words_remaining = count / 2;
|
||||
|
|
|
@ -481,7 +481,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32x_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -608,7 +608,7 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -212,7 +212,7 @@ static int stm32lx_protect(struct flash_bank *bank, int set, int first,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int stm32lx_write_half_pages(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32lx_write_half_pages(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -403,7 +403,7 @@ static int stm32lx_write_half_pages(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int stm32lx_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stm32lx_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -372,7 +372,7 @@ static int stmsmi_protect(struct flash_bank *bank, int set,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int smi_write_buffer(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int smi_write_buffer(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t address, uint32_t len)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
@ -397,7 +397,7 @@ static int smi_write_buffer(struct flash_bank *bank, uint8_t *buffer,
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int stmsmi_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int stmsmi_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -442,7 +442,7 @@ static int str7x_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int str7x_write_block(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct str7x_flash_bank *str7x_info = bank->driver_priv;
|
||||
|
@ -559,7 +559,7 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int str7x_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int str7x_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
|
|
|
@ -347,7 +347,7 @@ static int str9x_protect(struct flash_bank *bank,
|
|||
}
|
||||
|
||||
static int str9x_write_block(struct flash_bank *bank,
|
||||
uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
uint32_t buffer_size = 32768;
|
||||
|
@ -459,7 +459,7 @@ static int str9x_write_block(struct flash_bank *bank,
|
|||
}
|
||||
|
||||
static int str9x_write(struct flash_bank *bank,
|
||||
uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
uint32_t words_remaining = (count / 2);
|
||||
|
|
|
@ -565,7 +565,7 @@ static int str9xpec_set_address(struct flash_bank *bank, uint8_t sector)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int str9xpec_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct str9xpec_flash_controller *str9xpec_info = bank->driver_priv;
|
||||
|
|
|
@ -890,7 +890,7 @@ static int tms470_protect(struct flash_bank *bank, int set, int first, int last)
|
|||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
static int tms470_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
static int tms470_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct target *target = bank->target;
|
||||
uint32_t glbctrl, fmbac2, orig_fmregopt, fmbsea, fmbseb, fmmaxpp, fmmstat;
|
||||
|
|
|
@ -119,7 +119,7 @@ static int virtual_erase(struct flash_bank *bank, int first, int last)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
static int virtual_write(struct flash_bank *bank, uint8_t *buffer,
|
||||
static int virtual_write(struct flash_bank *bank, const uint8_t *buffer,
|
||||
uint32_t offset, uint32_t count)
|
||||
{
|
||||
struct flash_bank *master_bank = virtual_get_master_bank(bank);
|
||||
|
|
|
@ -1524,7 +1524,7 @@ static int dsp5680xx_checksum_memory(struct target *t, uint32_t a, uint32_t s,
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
static int perl_crc(uint8_t *buff8, uint32_t word_count)
|
||||
static int perl_crc(const uint8_t *buff8, uint32_t word_count)
|
||||
{
|
||||
uint16_t checksum = 0xffff;
|
||||
|
||||
|
@ -1983,14 +1983,14 @@ const uint16_t pgm_write_pflash[] = { 0x8A46, 0x0013, 0x807D, 0xE700,
|
|||
|
||||
const uint32_t pgm_write_pflash_length = 31;
|
||||
|
||||
int dsp5680xx_f_wr(struct target *t, uint8_t *b, uint32_t a, uint32_t count,
|
||||
int dsp5680xx_f_wr(struct target *t, const uint8_t *b, uint32_t a, uint32_t count,
|
||||
int is_flash_lock)
|
||||
{
|
||||
struct target *target = t;
|
||||
|
||||
uint32_t address = a;
|
||||
|
||||
uint8_t *buffer = b;
|
||||
const uint8_t *buffer = b;
|
||||
|
||||
int retval = ERROR_OK;
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ static inline struct dsp5680xx_common *target_to_dsp5680xx(struct target
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
int dsp5680xx_f_wr(struct target *target, uint8_t * buffer, uint32_t address,
|
||||
int dsp5680xx_f_wr(struct target *target, const uint8_t * buffer, uint32_t address,
|
||||
uint32_t count, int is_flash_lock);
|
||||
|
||||
/**
|
||||
|
|
|
@ -853,7 +853,7 @@ done:
|
|||
*/
|
||||
|
||||
int target_run_flash_async_algorithm(struct target *target,
|
||||
uint8_t *buffer, uint32_t count, int block_size,
|
||||
const uint8_t *buffer, uint32_t count, int block_size,
|
||||
int num_mem_params, struct mem_param *mem_params,
|
||||
int num_reg_params, struct reg_param *reg_params,
|
||||
uint32_t buffer_start, uint32_t buffer_size,
|
||||
|
|
|
@ -474,7 +474,7 @@ int target_wait_algorithm(struct target *target,
|
|||
*
|
||||
*/
|
||||
int target_run_flash_async_algorithm(struct target *target,
|
||||
uint8_t *buffer, uint32_t count, int block_size,
|
||||
const uint8_t *buffer, uint32_t count, int block_size,
|
||||
int num_mem_params, struct mem_param *mem_params,
|
||||
int num_reg_params, struct reg_param *reg_params,
|
||||
uint32_t buffer_start, uint32_t buffer_size,
|
||||
|
|
Loading…
Reference in New Issue