Skip to content

Commit

Permalink
Rolled back page erase feature as not needed anymore
Browse files Browse the repository at this point in the history
  • Loading branch information
dbuchwald committed Jul 7, 2024
1 parent 69a5545 commit e7f7691
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/updi_nvm_v0.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,9 +284,9 @@ int updi_nvm_write_user_row_V0(const PROGRAMMER *pgm, const AVRPART *p, uint32_t

int updi_nvm_write_boot_row_V0(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
/*
Perform write operation as if it was regular flash memory, but ensure page erase/page write command
Perform write operation as if it was regular flash memory
*/
return nvm_write_V0(pgm, p, address, buffer, size, USE_WORD_ACCESS, UPDI_V0_NVMCTRL_CTRLA_ERASE_WRITE_PAGE);
return nvm_write_V0(pgm, p, address, buffer, size, USE_WORD_ACCESS, USE_DEFAULT_COMMAND);
}

int updi_nvm_write_eeprom_V0(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
Expand Down
8 changes: 2 additions & 6 deletions src/updi_nvm_v2.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,13 +284,9 @@ int updi_nvm_write_user_row_V2(const PROGRAMMER *pgm, const AVRPART *p, uint32_t

int updi_nvm_write_boot_row_V2(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
/*
Perform write operation as if it was regular flash memory, but perform erase operation first
Perform write operation as if it was regular flash memory
*/
if (updi_nvm_erase_flash_page_V2(pgm, p, address) <0) {
pmsg_error("Flash page erase failed for bootrow\n");
return -1;
}
return updi_nvm_write_flash_V2(pgm, p, address, buffer, size);
return nvm_write_V2(pgm, p, address, buffer, size, USE_WORD_ACCESS);
}

int updi_nvm_write_eeprom_V2(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
Expand Down
4 changes: 2 additions & 2 deletions src/updi_nvm_v3.c
Original file line number Diff line number Diff line change
Expand Up @@ -299,9 +299,9 @@ int updi_nvm_write_user_row_V3(const PROGRAMMER *pgm, const AVRPART *p, uint32_t

int updi_nvm_write_boot_row_V3(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
/*
Perform the operation as the regular flash write, but with page erase/page write command
Perform the operation as the regular flash write
*/
return nvm_write_V3(pgm, p, address, buffer, size, USE_WORD_ACCESS, UPDI_V3_NVMCTRL_CTRLA_FLASH_PAGE_ERASE_WRITE);
return nvm_write_V3(pgm, p, address, buffer, size, USE_WORD_ACCESS, USE_DEFAULT_COMMAND);
}

int updi_nvm_write_eeprom_V3(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
Expand Down
8 changes: 2 additions & 6 deletions src/updi_nvm_v4.c
Original file line number Diff line number Diff line change
Expand Up @@ -285,13 +285,9 @@ int updi_nvm_write_user_row_V4(const PROGRAMMER *pgm, const AVRPART *p, uint32_t

int updi_nvm_write_boot_row_V4(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
/*
Write it as a regular flash page, but perform page erase first
Write it as a regular flash page
*/
if (updi_nvm_erase_flash_page_V4(pgm, p, address) <0) {
pmsg_error("Flash page erase failed for bootrow\n");
return -1;
}
return updi_nvm_write_flash_V4(pgm, p, address, buffer, size);
return nvm_write_V4(pgm, p, address, buffer, size, USE_WORD_ACCESS);
}

int updi_nvm_write_eeprom_V4(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
Expand Down
4 changes: 2 additions & 2 deletions src/updi_nvm_v5.c
Original file line number Diff line number Diff line change
Expand Up @@ -300,9 +300,9 @@ int updi_nvm_write_user_row_V5(const PROGRAMMER *pgm, const AVRPART *p, uint32_t

int updi_nvm_write_boot_row_V5(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
/*
Perform the operation as the regular flash write, but with page erase/page write command
Perform the operation as the regular flash write
*/
return nvm_write_V5(pgm, p, address, buffer, size, USE_WORD_ACCESS, UPDI_V5_NVMCTRL_CTRLA_FLASH_PAGE_ERASE_WRITE);
return nvm_write_V5(pgm, p, address, buffer, size, USE_WORD_ACCESS, USE_DEFAULT_COMMAND);
}

int updi_nvm_write_eeprom_V5(const PROGRAMMER *pgm, const AVRPART *p, uint32_t address, unsigned char *buffer, uint16_t size) {
Expand Down

0 comments on commit e7f7691

Please sign in to comment.