mirror of
https://github.com/avrdudes/avrdude.git
synced 2026-07-20 16:39:21 +03:00
@@ -4109,10 +4109,11 @@ const char * const pickit5_dw_chip_lut[] = {
|
||||
"ATmega16HVB","ATmega16HVBrevB", "ATmega16M1", "ATmega16U2", "ATmega328", "ATmega328P", "ATmega328PB", "ATmega32C1",
|
||||
"ATmega32HVB","ATmega32HVBrevB", "ATmega32M1", "ATmega32U2", "ATmega48", "ATmega48A", "ATmega48P", "ATmega48PA",
|
||||
"ATmega48PB", "ATmega64C1", "ATmega64HVE2", "ATmega64M1", "ATmega88", "ATmega88A", "ATmega88P", "ATmega88PA",
|
||||
"ATmega88PB", "ATmega8HVA", "ATmega8U2", "ATtiny13", "ATtiny13A", "ATtiny1634", "ATtiny167", "ATtiny2313",
|
||||
"ATtiny2313A", "ATtiny24", "ATtiny24A", "ATtiny25", "ATtiny261", "ATtiny261A", "ATtiny4313", "ATtiny43U",
|
||||
"ATtiny44", "ATtiny441", "ATtiny44A", "ATtiny45", "ATtiny461", "ATtiny461A", "ATtiny48", "ATtiny828",
|
||||
"ATtiny84", "ATtiny841", "ATtiny84A", "ATtiny85", "ATtiny861", "ATtiny861A", "ATtiny87", "ATtiny88",
|
||||
"ATmega88PB", "ATmega8HVA", "ATmega8U2", "ATmegaS64M1", "ATtiny13", "ATtiny13A", "ATtiny1634", "ATtiny167",
|
||||
"ATtiny2313", "ATtiny2313A", "ATtiny24", "ATtiny24A", "ATtiny25", "ATtiny261", "ATtiny261A", "ATtiny4313",
|
||||
"ATtiny43U", "ATtiny44", "ATtiny441", "ATtiny44A", "ATtiny45", "ATtiny461", "ATtiny461A", "ATtiny48",
|
||||
"ATtiny828", "ATtiny84", "ATtiny841", "ATtiny84A", "ATtiny85", "ATtiny861", "ATtiny861A", "ATtiny87",
|
||||
"ATtiny88",
|
||||
};
|
||||
|
||||
int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
@@ -4120,7 +4121,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
return -1;
|
||||
}
|
||||
int namepos = -1;
|
||||
for(int i = 0; i < 72; i++) {
|
||||
for(int i = 0; i < 73; i++) {
|
||||
if(strcmp(pickit5_dw_chip_lut[i], partdesc) == 0) {
|
||||
namepos = i;
|
||||
break;
|
||||
@@ -4142,7 +4143,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
case 38: /* ATmega88P */
|
||||
case 39: /* ATmega88PA */
|
||||
case 40: /* ATmega88PB */
|
||||
case 63: /* ATtiny828 */
|
||||
case 64: /* ATtiny828 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_0;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_0);
|
||||
scr->ReadProgmem = ReadProgmem_dw_0;
|
||||
@@ -4215,8 +4216,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
break;
|
||||
case 15: /* ATmega16HVA */
|
||||
case 41: /* ATmega8HVA */
|
||||
case 46: /* ATtiny167 */
|
||||
case 70: /* ATtiny87 */
|
||||
case 47: /* ATtiny167 */
|
||||
case 71: /* ATtiny87 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_4;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_4);
|
||||
scr->ReadProgmem = ReadProgmem_dw_1;
|
||||
@@ -4252,8 +4253,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
case 30: /* ATmega48P */
|
||||
case 31: /* ATmega48PA */
|
||||
case 32: /* ATmega48PB */
|
||||
case 62: /* ATtiny48 */
|
||||
case 71: /* ATtiny88 */
|
||||
case 63: /* ATtiny48 */
|
||||
case 72: /* ATtiny88 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_6;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_6);
|
||||
scr->ReadProgmem = ReadProgmem_dw_0;
|
||||
@@ -4267,6 +4268,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
break;
|
||||
case 33: /* ATmega64C1 */
|
||||
case 35: /* ATmega64M1 */
|
||||
case 43: /* ATmegaS64M1 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_7;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_7);
|
||||
scr->ReadProgmem = ReadProgmem_dw_2;
|
||||
@@ -4302,8 +4304,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_0;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_0);
|
||||
break;
|
||||
case 43: /* ATtiny13 */
|
||||
case 44: /* ATtiny13A */
|
||||
case 44: /* ATtiny13 */
|
||||
case 45: /* ATtiny13A */
|
||||
scr->WriteProgmem = WriteProgmem_dw_10;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_10);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4315,7 +4317,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_1;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_1);
|
||||
break;
|
||||
case 45: /* ATtiny1634 */
|
||||
case 46: /* ATtiny1634 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_11;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_11);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4327,7 +4329,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_1;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_1);
|
||||
break;
|
||||
case 47: /* ATtiny2313 */
|
||||
case 48: /* ATtiny2313 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_12;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_12);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4339,9 +4341,9 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_2;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_2);
|
||||
break;
|
||||
case 48: /* ATtiny2313A */
|
||||
case 49: /* ATtiny24 */
|
||||
case 50: /* ATtiny24A */
|
||||
case 49: /* ATtiny2313A */
|
||||
case 50: /* ATtiny24 */
|
||||
case 51: /* ATtiny24A */
|
||||
scr->WriteProgmem = WriteProgmem_dw_13;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_13);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4353,7 +4355,7 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_3;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_3);
|
||||
break;
|
||||
case 51: /* ATtiny25 */
|
||||
case 52: /* ATtiny25 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_14;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_14);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4365,8 +4367,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_4;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_4);
|
||||
break;
|
||||
case 52: /* ATtiny261 */
|
||||
case 53: /* ATtiny261A */
|
||||
case 53: /* ATtiny261 */
|
||||
case 54: /* ATtiny261A */
|
||||
scr->WriteProgmem = WriteProgmem_dw_15;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_15);
|
||||
scr->ReadProgmem = ReadProgmem_dw_3;
|
||||
@@ -4378,12 +4380,12 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_5;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_5);
|
||||
break;
|
||||
case 54: /* ATtiny4313 */
|
||||
case 55: /* ATtiny43U */
|
||||
case 56: /* ATtiny44 */
|
||||
case 58: /* ATtiny44A */
|
||||
case 64: /* ATtiny84 */
|
||||
case 66: /* ATtiny84A */
|
||||
case 55: /* ATtiny4313 */
|
||||
case 56: /* ATtiny43U */
|
||||
case 57: /* ATtiny44 */
|
||||
case 59: /* ATtiny44A */
|
||||
case 65: /* ATtiny84 */
|
||||
case 67: /* ATtiny84A */
|
||||
scr->WriteProgmem = WriteProgmem_dw_16;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_16);
|
||||
scr->ReadProgmem = ReadProgmem_dw_0;
|
||||
@@ -4395,8 +4397,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_3;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_3);
|
||||
break;
|
||||
case 57: /* ATtiny441 */
|
||||
case 65: /* ATtiny841 */
|
||||
case 58: /* ATtiny441 */
|
||||
case 66: /* ATtiny841 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_17;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_17);
|
||||
scr->ReadProgmem = ReadProgmem_dw_4;
|
||||
@@ -4408,8 +4410,8 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_3;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_3);
|
||||
break;
|
||||
case 59: /* ATtiny45 */
|
||||
case 67: /* ATtiny85 */
|
||||
case 60: /* ATtiny45 */
|
||||
case 68: /* ATtiny85 */
|
||||
scr->WriteProgmem = WriteProgmem_dw_18;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_18);
|
||||
scr->ReadProgmem = ReadProgmem_dw_0;
|
||||
@@ -4421,10 +4423,10 @@ int get_pickit_dw_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_dw_4;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_dw_4);
|
||||
break;
|
||||
case 60: /* ATtiny461 */
|
||||
case 61: /* ATtiny461A */
|
||||
case 68: /* ATtiny861 */
|
||||
case 69: /* ATtiny861A */
|
||||
case 61: /* ATtiny461 */
|
||||
case 62: /* ATtiny461A */
|
||||
case 69: /* ATtiny861 */
|
||||
case 70: /* ATtiny861A */
|
||||
scr->WriteProgmem = WriteProgmem_dw_19;
|
||||
scr->WriteProgmem_len = sizeof(WriteProgmem_dw_19);
|
||||
scr->ReadProgmem = ReadProgmem_dw_0;
|
||||
|
||||
@@ -2539,11 +2539,11 @@ const char * const pickit5_isp_chip_lut[] = {
|
||||
"ATmega645", "ATmega6450", "ATmega6450A", "ATmega6450P", "ATmega645A", "ATmega645P", "ATmega649", "ATmega6490",
|
||||
"ATmega6490A", "ATmega6490P", "ATmega649A", "ATmega649P", "ATmega64A", "ATmega64C1", "ATmega64HVE2", "ATmega64M1",
|
||||
"ATmega64RFR2", "ATmega8", "ATmega8515", "ATmega8535", "ATmega88", "ATmega88A", "ATmega88P", "ATmega88PA",
|
||||
"ATmega88PB", "ATmega8A", "ATmega8HVA", "ATmega8U2", "ATtiny12", "ATtiny13", "ATtiny13A", "ATtiny15",
|
||||
"ATtiny1634", "ATtiny167", "ATtiny2313", "ATtiny2313A", "ATtiny24", "ATtiny24A", "ATtiny25", "ATtiny26",
|
||||
"ATtiny261", "ATtiny261A", "ATtiny4313", "ATtiny43U", "ATtiny44", "ATtiny441", "ATtiny44A", "ATtiny45",
|
||||
"ATtiny461", "ATtiny461A", "ATtiny48", "ATtiny828", "ATtiny84", "ATtiny841", "ATtiny84A", "ATtiny85",
|
||||
"ATtiny861", "ATtiny861A", "ATtiny87", "ATtiny88",
|
||||
"ATmega88PB", "ATmega8A", "ATmega8HVA", "ATmega8U2", "ATmegaS128", "ATmegaS64M1", "ATtiny12", "ATtiny13",
|
||||
"ATtiny13A", "ATtiny15", "ATtiny1634", "ATtiny167", "ATtiny2313", "ATtiny2313A", "ATtiny24", "ATtiny24A",
|
||||
"ATtiny25", "ATtiny26", "ATtiny261", "ATtiny261A", "ATtiny4313", "ATtiny43U", "ATtiny44", "ATtiny441",
|
||||
"ATtiny44A", "ATtiny45", "ATtiny461", "ATtiny461A", "ATtiny48", "ATtiny828", "ATtiny84", "ATtiny841",
|
||||
"ATtiny84A", "ATtiny85", "ATtiny861", "ATtiny861A", "ATtiny87", "ATtiny88",
|
||||
};
|
||||
|
||||
int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
@@ -2551,7 +2551,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
return -1;
|
||||
}
|
||||
int namepos = -1;
|
||||
for(int i = 0; i < 156; i++) {
|
||||
for(int i = 0; i < 158; i++) {
|
||||
if(strcmp(pickit5_isp_chip_lut[i], partdesc) == 0) {
|
||||
namepos = i;
|
||||
break;
|
||||
@@ -2617,7 +2617,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
case 7: /* AT90PWM3 */
|
||||
case 9: /* AT90PWM3B */
|
||||
case 10: /* AT90PWM81 */
|
||||
case 151: /* ATtiny85 */
|
||||
case 153: /* ATtiny85 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_3;
|
||||
@@ -2722,6 +2722,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
break;
|
||||
case 17: /* ATmega128 */
|
||||
case 23: /* ATmega128A */
|
||||
case 124: /* ATmegaS128 */
|
||||
scr->EraseChip = EraseChip_isp_2;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_2);
|
||||
scr->WriteProgmem = WriteProgmem_isp_9;
|
||||
@@ -3098,6 +3099,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
case 107: /* ATmega649P */
|
||||
case 109: /* ATmega64C1 */
|
||||
case 111: /* ATmega64M1 */
|
||||
case 125: /* ATmegaS64M1 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_2;
|
||||
@@ -3184,8 +3186,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 124: /* ATtiny12 */
|
||||
case 127: /* ATtiny15 */
|
||||
case 126: /* ATtiny12 */
|
||||
case 129: /* ATtiny15 */
|
||||
scr->EraseChip = EraseChip_isp_4;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_4);
|
||||
scr->WriteProgmem = WriteProgmem_isp_23;
|
||||
@@ -3201,8 +3203,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 125: /* ATtiny13 */
|
||||
case 126: /* ATtiny13A */
|
||||
case 127: /* ATtiny13 */
|
||||
case 128: /* ATtiny13A */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_24;
|
||||
@@ -3218,7 +3220,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 128: /* ATtiny1634 */
|
||||
case 130: /* ATtiny1634 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_25;
|
||||
@@ -3234,7 +3236,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 129: /* ATtiny167 */
|
||||
case 131: /* ATtiny167 */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_4;
|
||||
@@ -3250,8 +3252,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 130: /* ATtiny2313 */
|
||||
case 131: /* ATtiny2313A */
|
||||
case 132: /* ATtiny2313 */
|
||||
case 133: /* ATtiny2313A */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_26;
|
||||
@@ -3267,8 +3269,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 132: /* ATtiny24 */
|
||||
case 133: /* ATtiny24A */
|
||||
case 134: /* ATtiny24 */
|
||||
case 135: /* ATtiny24A */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_26;
|
||||
@@ -3284,7 +3286,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 134: /* ATtiny25 */
|
||||
case 136: /* ATtiny25 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_26;
|
||||
@@ -3300,7 +3302,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 135: /* ATtiny26 */
|
||||
case 137: /* ATtiny26 */
|
||||
scr->EraseChip = EraseChip_isp_2;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_2);
|
||||
scr->WriteProgmem = WriteProgmem_isp_27;
|
||||
@@ -3316,8 +3318,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 136: /* ATtiny261 */
|
||||
case 137: /* ATtiny261A */
|
||||
case 138: /* ATtiny261 */
|
||||
case 139: /* ATtiny261A */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_26;
|
||||
@@ -3333,7 +3335,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 138: /* ATtiny4313 */
|
||||
case 140: /* ATtiny4313 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3349,7 +3351,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 139: /* ATtiny43U */
|
||||
case 141: /* ATtiny43U */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3365,8 +3367,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 140: /* ATtiny44 */
|
||||
case 142: /* ATtiny44A */
|
||||
case 142: /* ATtiny44 */
|
||||
case 144: /* ATtiny44A */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3382,7 +3384,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 141: /* ATtiny441 */
|
||||
case 143: /* ATtiny441 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_28;
|
||||
@@ -3398,7 +3400,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 143: /* ATtiny45 */
|
||||
case 145: /* ATtiny45 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3414,8 +3416,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 144: /* ATtiny461 */
|
||||
case 145: /* ATtiny461A */
|
||||
case 146: /* ATtiny461 */
|
||||
case 147: /* ATtiny461A */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3431,7 +3433,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 146: /* ATtiny48 */
|
||||
case 148: /* ATtiny48 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_17;
|
||||
@@ -3447,7 +3449,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 147: /* ATtiny828 */
|
||||
case 149: /* ATtiny828 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_3;
|
||||
@@ -3463,8 +3465,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 148: /* ATtiny84 */
|
||||
case 150: /* ATtiny84A */
|
||||
case 150: /* ATtiny84 */
|
||||
case 152: /* ATtiny84A */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_3;
|
||||
@@ -3480,7 +3482,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 149: /* ATtiny841 */
|
||||
case 151: /* ATtiny841 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_29;
|
||||
@@ -3496,8 +3498,8 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 152: /* ATtiny861 */
|
||||
case 153: /* ATtiny861A */
|
||||
case 154: /* ATtiny861 */
|
||||
case 155: /* ATtiny861A */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_3;
|
||||
@@ -3513,7 +3515,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 154: /* ATtiny87 */
|
||||
case 156: /* ATtiny87 */
|
||||
scr->EraseChip = EraseChip_isp_5;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_5);
|
||||
scr->WriteProgmem = WriteProgmem_isp_22;
|
||||
@@ -3529,7 +3531,7 @@ int get_pickit_isp_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->WriteConfigmemLock = WriteConfigmemLock_isp_0;
|
||||
scr->WriteConfigmemLock_len = sizeof(WriteConfigmemLock_isp_0);
|
||||
break;
|
||||
case 155: /* ATtiny88 */
|
||||
case 157: /* ATtiny88 */
|
||||
scr->EraseChip = EraseChip_isp_0;
|
||||
scr->EraseChip_len = sizeof(EraseChip_isp_0);
|
||||
scr->WriteProgmem = WriteProgmem_isp_3;
|
||||
|
||||
@@ -1293,9 +1293,10 @@ const char * const pickit5_jtag_chip_lut[] = {
|
||||
"ATmega3290A", "ATmega3290P", "ATmega3290PA", "ATmega329A", "ATmega329P", "ATmega329PA", "ATmega32A", "ATmega32U4",
|
||||
"ATmega406", "ATmega64", "ATmega640", "ATmega644", "ATmega644A", "ATmega644P", "ATmega644PA", "ATmega644RFR2",
|
||||
"ATmega645", "ATmega6450", "ATmega6450A", "ATmega6450P", "ATmega645A", "ATmega645P", "ATmega649", "ATmega6490",
|
||||
"ATmega6490A", "ATmega6490P", "ATmega649A", "ATmega649P", "ATmega64A", "ATmega64RFR2", "ATxmega128A1", "ATxmega128A1U",
|
||||
"ATxmega128A3", "ATxmega128A3U", "ATxmega192A3", "ATxmega192A3U", "ATxmega256A3", "ATxmega256A3B", "ATxmega256A3BU", "ATxmega256A3U",
|
||||
"ATxmega64A1", "ATxmega64A1U", "ATxmega64A3", "ATxmega64A3U", "ATxmega128B1", "ATxmega128B3", "ATxmega64B1", "ATxmega64B3",
|
||||
"ATmega6490A", "ATmega6490P", "ATmega649A", "ATmega649P", "ATmega64A", "ATmega64RFR2", "ATmegaS128", "ATxmega128A1",
|
||||
"ATxmega128A1U", "ATxmega128A3", "ATxmega128A3U", "ATxmega192A3", "ATxmega192A3U", "ATxmega256A3", "ATxmega256A3B", "ATxmega256A3BU",
|
||||
"ATxmega256A3U", "ATxmega64A1", "ATxmega64A1U", "ATxmega64A3", "ATxmega64A3U", "ATxmega128B1", "ATxmega128B3", "ATxmega64B1",
|
||||
"ATxmega64B3",
|
||||
};
|
||||
|
||||
int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc) {
|
||||
@@ -1303,7 +1304,7 @@ int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc) {
|
||||
return -1;
|
||||
}
|
||||
int namepos = -1;
|
||||
for(int i = 0; i < 96; i++) {
|
||||
for(int i = 0; i < 97; i++) {
|
||||
if(strcmp(pickit5_jtag_chip_lut[i], partdesc) == 0) {
|
||||
namepos = i;
|
||||
break;
|
||||
@@ -1452,6 +1453,7 @@ int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc) {
|
||||
break;
|
||||
case 7: /* ATmega128 */
|
||||
case 13: /* ATmega128A */
|
||||
case 78: /* ATmegaS128 */
|
||||
scr->EnterProgMode = EnterProgMode_jtag_0;
|
||||
scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_0);
|
||||
scr->ExitProgMode = ExitProgMode_jtag_0;
|
||||
@@ -1919,16 +1921,16 @@ int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_jtag_0;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_jtag_0);
|
||||
break;
|
||||
case 78: /* ATxmega128A1 */
|
||||
case 79: /* ATxmega128A1U */
|
||||
case 80: /* ATxmega128A3 */
|
||||
case 81: /* ATxmega128A3U */
|
||||
case 82: /* ATxmega192A3 */
|
||||
case 83: /* ATxmega192A3U */
|
||||
case 84: /* ATxmega256A3 */
|
||||
case 85: /* ATxmega256A3B */
|
||||
case 86: /* ATxmega256A3BU */
|
||||
case 87: /* ATxmega256A3U */
|
||||
case 79: /* ATxmega128A1 */
|
||||
case 80: /* ATxmega128A1U */
|
||||
case 81: /* ATxmega128A3 */
|
||||
case 82: /* ATxmega128A3U */
|
||||
case 83: /* ATxmega192A3 */
|
||||
case 84: /* ATxmega192A3U */
|
||||
case 85: /* ATxmega256A3 */
|
||||
case 86: /* ATxmega256A3B */
|
||||
case 87: /* ATxmega256A3BU */
|
||||
case 88: /* ATxmega256A3U */
|
||||
scr->EnterProgMode = EnterProgMode_jtag_1;
|
||||
scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_1);
|
||||
scr->ExitProgMode = ExitProgMode_jtag_1;
|
||||
@@ -1972,14 +1974,14 @@ int get_pickit_jtag_script(SCRIPT *scr, const char *partdesc) {
|
||||
scr->ReadMem8 = ReadMem8_jtag_6;
|
||||
scr->ReadMem8_len = sizeof(ReadMem8_jtag_6);
|
||||
break;
|
||||
case 88: /* ATxmega64A1 */
|
||||
case 89: /* ATxmega64A1U */
|
||||
case 90: /* ATxmega64A3 */
|
||||
case 91: /* ATxmega64A3U */
|
||||
case 92: /* ATxmega128B1 */
|
||||
case 93: /* ATxmega128B3 */
|
||||
case 94: /* ATxmega64B1 */
|
||||
case 95: /* ATxmega64B3 */
|
||||
case 89: /* ATxmega64A1 */
|
||||
case 90: /* ATxmega64A1U */
|
||||
case 91: /* ATxmega64A3 */
|
||||
case 92: /* ATxmega64A3U */
|
||||
case 93: /* ATxmega128B1 */
|
||||
case 94: /* ATxmega128B3 */
|
||||
case 95: /* ATxmega64B1 */
|
||||
case 96: /* ATxmega64B3 */
|
||||
scr->EnterProgMode = EnterProgMode_jtag_1;
|
||||
scr->EnterProgMode_len = sizeof(EnterProgMode_jtag_1);
|
||||
scr->ExitProgMode = ExitProgMode_jtag_1;
|
||||
|
||||
@@ -1102,7 +1102,7 @@ const char * const pickit5_updi_chip_lut[] = {
|
||||
"AVR32EA28", "AVR32EA32", "AVR32EA48", "AVR8EA28", "AVR8EA32", "AVR16EB14", "AVR16EB20", "AVR16EB28",
|
||||
"AVR16EB32", "AVR32EB28", "AVR32EB32", "AVR32EB14", "AVR32EB20", "AVR32SD20", "AVR32SD28", "AVR32SD32",
|
||||
"AVR64SD28", "AVR64SD32", "AVR64SD48", "AVR64EC28", "AVR64EC32", "AVR64EC48", "AVR32LA14", "AVR32LA20",
|
||||
"AVR32LA28", "AVR32LA32",
|
||||
"AVR32LA28", "AVR32LA32", "AVR16LA14", "AVR16LA20", "AVR16LA28", "AVR16LA32",
|
||||
};
|
||||
|
||||
const unsigned char *get_devid_script_by_nvm_ver(unsigned char version) {
|
||||
@@ -1119,7 +1119,7 @@ int get_pickit_updi_script(SCRIPT *scr, const char *partdesc) {
|
||||
return -1;
|
||||
}
|
||||
int namepos = -1;
|
||||
for(int i = 0; i < 138; i++) {
|
||||
for(int i = 0; i < 142; i++) {
|
||||
if(strcmp(pickit5_updi_chip_lut[i], partdesc) == 0) {
|
||||
namepos = i;
|
||||
break;
|
||||
@@ -1436,6 +1436,10 @@ int get_pickit_updi_script(SCRIPT *scr, const char *partdesc) {
|
||||
case 135: /* AVR32LA20 */
|
||||
case 136: /* AVR32LA28 */
|
||||
case 137: /* AVR32LA32 */
|
||||
case 138: /* AVR16LA14 */
|
||||
case 139: /* AVR16LA20 */
|
||||
case 140: /* AVR16LA28 */
|
||||
case 141: /* AVR16LA32 */
|
||||
scr->EnterProgMode = EnterProgMode_updi_0;
|
||||
scr->EnterProgMode_len = sizeof(EnterProgMode_updi_0);
|
||||
scr->GetDeviceID = GetDeviceID_updi_1;
|
||||
|
||||
Reference in New Issue
Block a user