avrdudes / avrdude

AVRDUDE is a utility to program AVR microcontrollers
GNU General Public License v2.0
704 stars 136 forks source link

AVR910 programmer enhancment to support more parts #1060

Closed mcuee closed 1 year ago

mcuee commented 2 years ago

Just got a serial port AVR910 prog (based on AT902313 and use some passive components for the serial interface) from AliExpress (along with a serial port based SI-Prog).

Currently avr910 only supports limited parts. Alternative PC applications like AVROSP2 supports many more parts. Microchip/Atmel original avrosp can support more parts as well with the proper xml files.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude -c avr910 -P COM5 -b 115200 -qqp m328p
Found programmer: Id = "AVR ISP"; type = S
    Software Version = 3.8; Hardware Version = 1.2
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize = 64 bytes.

Programmer supports the following devices:
    Device code: 0x13 = AT90S1200
    Device code: 0x20 = AT90S2313
    Device code: 0x28 = AT90S4414
    Device code: 0x30 = AT90S4433
    Device code: 0x34 = AT90S2333
    Device code: 0x38 = AT90S8515
    Device code: 0x48 = (unknown)
    Device code: 0x4c = AT90S2343
    Device code: 0x51 = (unknown)
    Device code: 0x55 = ATtiny12
    Device code: 0x56 = ATtiny15
    Device code: 0x68 = AT90S8535
    Device code: 0x6c = AT90S4434
    Device code: 0xffffff86 = (unknown)
    Device code: 0xffffff87 = (unknown)
    Device code: 0x04 = (unknown)
    Device code: 0x05 = (unknown)
    Device code: 0x06 = (unknown)
    Device code: 0x07 = (unknown)
    Device code: 0x1a = (unknown)
    Device code: 0x1b = (unknown)
    Device code: 0x1c = (unknown)
    Device code: 0x1d = (unknown)
    Device code: 0x23 = (unknown)
    Device code: 0x31 = (unknown)
    Device code: 0x33 = (unknown)
    Device code: 0x37 = (unknown)
    Device code: 0x39 = (unknown)
    Device code: 0x3d = (unknown)
    Device code: 0x3e = (unknown)
    Device code: 0x3a = ATmega8515
    Device code: 0x3b = (unknown)
    Device code: 0x41 = ATmega103
    Device code: 0x43 = ATmega128
    Device code: 0x44 = (unknown)
    Device code: 0x45 = ATmega64
    Device code: 0x46 = (unknown)
    Device code: 0x5e = ATtiny26
    Device code: 0x60 = ATmega161
    Device code: 0x61 = (unknown)
    Device code: 0x62 = (unknown)
    Device code: 0x63 = ATmega162
    Device code: 0x64 = ATmega163
    Device code: 0x66 = (unknown)
    Device code: 0x69 = ATmega8535
    Device code: 0x6a = (unknown)
    Device code: 0x72 = ATmega32
    Device code: 0x73 = (unknown)
    Device code: 0x74 = ATmega16
    Device code: 0x75 = ATmega329
    Device code: 0x76 = ATmega8
    Device code: 0x77 = (unknown)
    Device code: 0x78 = ATmega169
    Device code: 0x79 = (unknown)

avrdude.exe: error: selected device is not supported by programmer: m328p
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
mcuee commented 1 year ago

This is the run log for my modified avrdude.conf last year, it still works with latest avrdude git, but of course with some warnings.

You can see it works with ATmega328PB.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude -c usbasp -p m328p -U .\910-328p_16MHz_Rst_PB2.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip

avrdude: processing -U flash:w:.\910-328p_16MHz_Rst_PB2.hex:i
avrdude: reading input file .\910-328p_16MHz_Rst_PB2.hex for flash
         with 2602 bytes in 2 sections within [0, 0x7fff]
         using 21 pages and 86 pad bytes
avrdude: writing 2602 bytes flash ...
Writing | ################################################## | 100% 0.64 s
avrdude: 2602 bytes of flash written
avrdude: verifying flash memory against .\910-328p_16MHz_Rst_PB2.hex
Reading | ################################################## | 100% 0.42 s
avrdude: 2602 bytes of flash verified

avrdude done.  Thank you.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude -C .\avrdude_avr910.conf -c avr910 -p m328pb -P COM50 -b 115200 -U .\910-328p.hex -v

avrdude: Version 7.1-20230623 (5a8aff09)
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:483]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:484]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:517]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:518]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:557]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:558]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:580]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:581]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:663]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:664]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:690]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:691]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:712]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:713]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:749]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:750]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:772]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:773]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:859]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:860]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1001]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1002]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1017]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1018]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1035]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1036]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1054]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1055]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1071]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1072]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1105]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1106]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1135]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1136]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2083]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2084]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2114]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2115]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2133]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2134]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2152]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2153]
         User configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.rc

         Using Port                    : COM50
         Using Programmer              : avr910
         Overriding Baud Rate          : 115200
         avr910_devcode (avrdude.conf) : 0x72
avrdude: input file .\910-328p.hex auto detected as Intel Hex
         AVR Part                      : ATmega328PB
         Chip Erase delay              : 10500 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         Serial program mode           : yes
         Parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom                 65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash                  65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           hfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           efuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           lock                    0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00

         Programmer Type : avr910
         Description     : Atmel Low Cost Serial Programmer
Programmer id    = AVR ISP; type = S
Software version = 6.0; Hardware version = 1.2
programmer supports auto addr increment
programmer supports buffered memory access with buffersize = 256 bytes
avrdude: avr910_devcode selected: 0x72
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9516 (probably m328pb)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip

avrdude: processing -U flash:w:.\910-328p.hex:i
avrdude: reading input file .\910-328p.hex for flash
         with 2102 bytes in 1 section within [0, 0x835]
         using 17 pages and 74 pad bytes
avrdude: writing 2102 bytes flash ...
Writing | ################################################## | 100% 0.91 s
avrdude: 2102 bytes of flash written
avrdude: verifying flash memory against .\910-328p.hex
Reading | ################################################## | 100% 0.48 s
avrdude: 2102 bytes of flash verified

avrdude done.  Thank you.

avrdude_avr910.zip

Relevant entries for ATmega328/328P/328PB


#------------------------------------------------------------
# ATmega328
#------------------------------------------------------------

part
    desc                   = "ATmega328";
    id                     = "m328";
    prog_modes             = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
    mcuid                  = 118;
    n_interrupts           = 26;
    stk500_devcode         = 0x86;
    chip_erase_delay       = 9000;
    pagel                  = 0xd7;
    bs2                    = 0xc2;
    avr910_devcode         = 0x72;
    signature              = 0x1e 0x95 0x14;
    reset                  = io;
    timeout                = 200;
    stabdelay              = 100;
    cmdexedelay            = 25;
    synchloops             = 32;
    pollindex              = 3;
    pollvalue              = 0x53;
    predelay               = 1;
    postdelay              = 1;
    pollmethod             = 1;
    pp_controlstack        =
        0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
        0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
        0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
        0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
    flash_instr            =  0xb6, 0x01, 0x11;
    eeprom_instr           =
        0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
        0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
        0x99, 0xf9, 0xbb, 0xaf;
    hventerstabdelay       = 100;
    latchcycles            = 5;
    togglevtg              = 1;
    poweroffdelay          = 15;
    resetdelayms           = 1;
    hvleavestabdelay       = 15;
    resetdelay             = 15;
    chiperasepolltimeout   = 10;
    programfusepolltimeout = 5;
    programlockpolltimeout = 5;
    ocdrev                 = 1;
    chip_erase             = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
    pgm_enable             = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";

    memory "eeprom"
        size               = 1024;
        page_size          = 4;
        min_write_delay    = 3600;
        max_write_delay    = 3600;
        readback           = 0xff 0xff;
        mode               = 65;
        delay              = 20;
        blocksize          = 4;
        readsize           = 256;
        read               = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo";
        write              = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii";
        loadpage_lo        = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
        writepage          = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
    ;

    memory "flash"
        paged              = yes;
        size               = 0x8000;
        page_size          = 128;
        num_pages          = 256;
        min_write_delay    = 4500;
        max_write_delay    = 4500;
        readback           = 0xff 0xff;
        mode               = 65;
        delay              = 6;
        blocksize          = 128;
        readsize           = 256;
        read_lo            = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
        read_hi            = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
        loadpage_lo        = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
        loadpage_hi        = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii";
        writepage          = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
    ;

    memory "lfuse"
        size               = 1;
        min_write_delay    = 4500;
        max_write_delay    = 4500;
        read               = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
        write              = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
    ;

    memory "hfuse"
        size               = 1;
        min_write_delay    = 4500;
        max_write_delay    = 4500;
        read               = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
        write              = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
    ;

    memory "efuse"
        size               = 1;
        min_write_delay    = 4500;
        max_write_delay    = 4500;
        read               = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
        write              = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
    ;

    memory "lock"
        size               = 1;
        min_write_delay    = 4500;
        max_write_delay    = 4500;
        read               = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
        write              = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
    ;

    memory "signature"
        size               = 3;
        read               = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
    ;

    memory "calibration"
        size               = 1;
        read               = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
    ;
;

#------------------------------------------------------------
# ATmega328P
#------------------------------------------------------------

part parent "m328"
    desc                   = "ATmega328P";
    id                     = "m328p";
    mcuid                  = 119;
    signature              = 0x1e 0x95 0x0f;
;

#------------------------------------------------------------
# ATmega328PB
#------------------------------------------------------------

part parent "m328"
    desc                   = "ATmega328PB";
    id                     = "m328pb";
    mcuid                  = 120;
    n_interrupts           = 45;
    chip_erase_delay       = 10500;
    signature              = 0x1e 0x95 0x16;

    memory "efuse"
        write              = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
    ;
;
mcuee commented 1 year ago

910-328p.zip

Here is the AVR910 firmware for the UNO board @ 16Mhz. Please read the readme.txt.

This does not seem to work for me. So I was still using the older hex file (910-328p_16MHz_Rst_PB2.hex, from last year) in the previous run log.

Failed run log with the latest hex file

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude -c urclock -p m328p -P COM50 -U .\910-328p.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip
         delaying chip erase until first -U upload to flash

avrdude: processing -U flash:w:.\910-328p.hex:i
avrdude: reading input file .\910-328p.hex for flash
         with 2102 bytes in 1 section within [0, 0x835]
         using 17 pages and 74 pad bytes
avrdude: preparing flash input for device bootloader
avrdude: writing 2102 bytes flash ...
Writing | ################################################## | 100% 6.55 s
avrdude: 2102 bytes of flash written
avrdude: verifying flash memory against .\910-328p.hex
Reading | ################################################## | 100% 5.23 s
avrdude: 2102 bytes of flash verified

avrdude done.  Thank you.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude -C .\avrdude_avr910.conf -c avr910 -p m328pb -P COM50 -b 115200 -U .\910-328p.hex -v

avrdude: Version 7.1-20230623 (5a8aff09)
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:483]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:484]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:517]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:518]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:557]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:558]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:580]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:581]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:663]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:664]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:690]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:691]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:712]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:713]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:749]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:750]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:772]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:773]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:859]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:860]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1001]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1002]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1017]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1018]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1035]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1036]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1054]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1055]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1071]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1072]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1105]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1106]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1135]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:1136]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2083]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2084]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2114]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2115]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2133]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2134]
avrdude yywarning() warning: mosi is deprecated, will be removed in v8.0, use sdo [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2152]
avrdude yywarning() warning: miso is deprecated, will be removed in v8.0, use sdi [C:\work\avr\avrdude_test\avrdude_bin\avrdude_avr910.conf:2153]
         User configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.rc

         Using Port                    : COM50
         Using Programmer              : avr910
         Overriding Baud Rate          : 115200
         avr910_devcode (avrdude.conf) : 0x72
avrdude: input file .\910-328p.hex auto detected as Intel Hex
         AVR Part                      : ATmega328PB
         Chip Erase delay              : 10500 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         Serial program mode           : yes
         Parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom                 65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash                  65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           hfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           efuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           lock                    0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00

         Programmer Type : avr910
         Description     : Atmel Low Cost Serial Programmer
Programmer id    = AVR ISP; type = S
Software version = 6.0; Hardware version = 1.2
programmer supports auto addr increment
programmer supports buffered memory access with buffersize = 256 bytes
avrdude: avr910_devcode selected: 0x72
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0xffffff (probably .xmega) (retrying)
avrdude: device signature = 0xffffff (probably .xmega) (retrying)
avrdude: device signature = 0xffffff (probably .xmega)
avrdude main() error: Yikes!  Invalid device signature.
avrdude main() error: expected signature for ATmega328PB is 1E 95 16
        Double check connections and try again, or use -F to override
        this check.

avrdude done.  Thank you.
avrfreak commented 1 year ago

I suggest you stop using avrdude 7.1 in my opinion it is nothing but trouble especially when trying to use a real RS232 serial port (not a TTL adapter), IT DOESN'T WORK.

As for the error messages, "mosi is deprecated" now what is that supposed to mean? I guess the config file is not compatible with the avrdude version you are using.

The only reason for uploading a new hex file is to allow the programmer to increase the SCK rate to 2MHz if PD6 & PD7 are joined. If you do not use the new hex file then your programmer will only program with the slow SCK setting (in the old code the SPI routine is bit-bang).

I use avrdude V6.3 with the config file I posted. Since I don't have a great deal of time to spend on this because of my job, anything after avrdude V6.3 has been too troublesome and time consuming for me to bother with.

mcuee commented 1 year ago

I suggest you stop using avrdude 7.1 in my opinion it is nothing but trouble especially when trying to use a real RS232 serial port (not a TTL adapter), IT DOESN'T WORK.

I use avrdude V6.3 with the config file I posted. Since I don't have a great deal of time to spend on this because of my job, anything after avrdude V6.3 has been too troublesome and time consuming for me to bother with.

I will for sure not use the ancient avrdude 6.3 version. You are missing really a lot of features if you stick to the 6.3 version. But anyway, that is your choice...

If you have issues with real serial port, please create the issue. But I do not have PCs with real serial port now so I can not test that.

As for the error messages, "mosi is deprecated" now what is that supposed to mean? I guess the config file is not compatible with the avrdude version you are using.

Yes, that is just for quick testing -- I reuse the old configuration file last year, which will cause warnings.

The only reason for uploading a new hex file is to allow the programmer to increase the SCK rate to 2MHz if PD6 & PD7 are joined. If you do not use the new hex file then your programmer will only program with the slow SCK setting (in the old code the SPI routine is bit-bang).

Thanks for the information.

mcuee commented 1 year ago

I don't think this modification is for everyone, especially when you can just buy a USBASP for under $3 which will support newer devices with avrdude.

@avrfreak

This is a good point. I guess this issue is probably not worth the efforts in the end. But still thanks for your contribution. Maybe someone may find it useful in the future.

mcuee commented 1 year ago

In this case, I will move this to discussion. If someone helps to create a PR then we can start from there again.