Submitted by Joseph Coffland:

patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices
* stk500v2.c (stk600_xprog_read_byte, stk600_xprog_paged_load):
treat "prodsig" memory space as equivalent to "calibration"



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1469 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Joerg Wunsch 2021-11-11 20:59:25 +00:00
parent 91948428a6
commit 10df0ff15a
3 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2021-11-11 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
Submitted by Joseph Coffland:
patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices
* stk500v2.c (stk600_xprog_read_byte, stk600_xprog_paged_load):
treat "prodsig" memory space as equivalent to "calibration"
2021-11-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 2021-11-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
Submitted by Martin Thierer: Submitted by Martin Thierer:

1
NEWS
View File

@ -103,6 +103,7 @@ Current:
patch #10000: Add support for extended UPDI device context patch #10000: Add support for extended UPDI device context
patch #9697: Add iseavrprog support patch #9697: Add iseavrprog support
patch #10017: uspasp / tpi: Automatically clear configuration byte (fuse) before writing it patch #10017: uspasp / tpi: Automatically clear configuration byte (fuse) before writing it
patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices
* Internals: * Internals:
- New avrdude.conf keyword "family_id", used to verify SIB attributes - New avrdude.conf keyword "family_id", used to verify SIB attributes

View File

@ -3938,7 +3938,8 @@ static int stk600_xprog_read_byte(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
b[1] = XPRG_MEM_TYPE_FUSE; b[1] = XPRG_MEM_TYPE_FUSE;
} else if (strncmp(mem->desc, "lock", strlen("lock")) == 0) { } else if (strncmp(mem->desc, "lock", strlen("lock")) == 0) {
b[1] = XPRG_MEM_TYPE_LOCKBITS; b[1] = XPRG_MEM_TYPE_LOCKBITS;
} else if (strcmp(mem->desc, "calibration") == 0) { } else if (strcmp(mem->desc, "calibration") == 0 ||
strcmp(mem->desc, "prodsig") == 0) {
b[1] = XPRG_MEM_TYPE_FACTORY_CALIBRATION; b[1] = XPRG_MEM_TYPE_FACTORY_CALIBRATION;
} else if (strcmp(mem->desc, "usersig") == 0) { } else if (strcmp(mem->desc, "usersig") == 0) {
b[1] = XPRG_MEM_TYPE_USERSIG; b[1] = XPRG_MEM_TYPE_USERSIG;
@ -4012,7 +4013,8 @@ static int stk600_xprog_paged_load(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
memtype = XPRG_MEM_TYPE_FUSE; memtype = XPRG_MEM_TYPE_FUSE;
} else if (strncmp(mem->desc, "lock", strlen("lock")) == 0) { } else if (strncmp(mem->desc, "lock", strlen("lock")) == 0) {
memtype = XPRG_MEM_TYPE_LOCKBITS; memtype = XPRG_MEM_TYPE_LOCKBITS;
} else if (strcmp(mem->desc, "calibration") == 0) { } else if (strcmp(mem->desc, "calibration") == 0 ||
strcmp(mem->desc, "prodsig") == 0) {
memtype = XPRG_MEM_TYPE_FACTORY_CALIBRATION; memtype = XPRG_MEM_TYPE_FACTORY_CALIBRATION;
} else if (strcmp(mem->desc, "usersig") == 0) { } else if (strcmp(mem->desc, "usersig") == 0) {
memtype = XPRG_MEM_TYPE_USERSIG; memtype = XPRG_MEM_TYPE_USERSIG;