bootloader per arduino auf atmega168PV-10AU

Hallo zusammen

Ich hab mir etwas hübsches zusammengebaut, das mit Batterien betrieben werden soll. Deshalb habe ich den stromsparenden atmega168PV-10AU eingebaut und auf einen externen Quarz oder ähnliches verzichtet. Nun versuche ich den Bootloader über das Arduino Uno Board zu installieren, während ich als Zielboard das Lilypad168 angegeben habe, da für dieses die Fuses auf internen Oszillator gesetzt sind. Die Arduino IDE meldet mir nun aber den folgenden Fehler:

avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

Nach ein wenig herumgegoogle kam ich zum Schluss, dass das Problem sein muss, dass ich die PV-10AU Variante des atmega168 verwende, womit die IDE nicht rechnet, da das Lilypad mit einer anderen Variante des atmega168 bestückt ist. Allerdings konnte ich noch keine Lösung finden, wie ich meine Variante über die IDE und das ArduinoUno Board mit dem Bootloader meiner Träume beglücken kann :frowning: Weiss jemand von euch Rat?

update: Mitlerweilen habe ich herausgefunden, dass sich im Arduino.app Paket eine Datei namens boards.txt befindet. Dort konnte ich einfach den Eintrag für das Lilypad kopieren und umbenennen, sodass ich nun in der Arduino IDE ein neues Board zur Auswahl habe. Die Fuses kann ich dort offensichtlich ebenfalls anpassen. Der neue Eintrag lautet nun folgendermassen:

168pv.name= ATmega168PV-10AU

168pv.upload.protocol=arduino
168pv.upload.maximum_size=14336
168pv.upload.speed=19200

168pv.bootloader.low_fuses=0xc2
168pv.bootloader.high_fuses=0xff
168pv.bootloader.extended_fuses=0xff
168pv.bootloader.path=lilypad
168pv.bootloader.file=LilyPadBOOT_168.hex
168pv.bootloader.unlock_bits=0x3F
168pv.bootloader.lock_bits=0x0F

168pv.build.mcu=atmega168
168pv.build.f_cpu=8000000L
168pv.build.core=arduino
168pv.build.variant=standard

Allerdings weiss ich nicht, ob ich etwas an den lock und unlock bits ändern muss und was die untersten 4 Zeilen zu bedeuten haben und ob ich die anpassen müsste, weiss ich auch nicht. Ausserdem verweist der Eintrag auf die Lilypad Bootloader Hexdatei, die ebenfalls in diesem Paket zu finden ist. Muss ich möglicherweise diese auch verändern? Und wenn ja, wie? Ich habe keine Ahnung was diese Hexcodes bedeuten...

Hallo,

ich habe mir einen Arduino mit ATMEGA 168PA-PU selbst gebaut. Als Bootloader habe ich den aus dem Arduino-Softwarepaket namens "hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_diecimila.hex" verwendet. Die Lock-Bits waren Extendes 0xF8, HIGH 0xDD und LOW 0xFF. Die Fuses: Lock 0xCF und Unlock 0x3F.

Vielleicht helfen diese Einstellungen.

Gruß,
Ralf

immer noch die selbe Fehleranzeige... :frowning:

Du könntest als build.mcu anstelle von atmega168 nochmal atmega168p versuchen.

Gruß,
Ralf

hab ich versucht. geht nicht.

Schade, dann fällt mir im Moment auch nix mehr ein - außer den Bootloader mit einem Programmiergerät und AVR Studio IV brennen.

Gruß,
Ralf

Habe nun also die unten angefügte Boarddefinition übernommen und eine
modifizierte avrdude.config installiert, in der der 168p ebenfalls
definiert ist. Funktioniert aber noch immer nicht. Ich verstehs nicht.
:frowning:

Boarddefinition:
##############################################################

diecimilaP.name=Arduino Diecimila, Duemilanove, or Nano w/ ATmega168P

diecimilaP.upload.protocol=stk500
diecimilaP.upload.maximum_size=14336
diecimilaP.upload.speed=19200

diecimilaP.bootloader.low_fuses=0xff
diecimilaP.bootloader.high_fuses=0xdd
diecimilaP.bootloader.extended_fuses=0x00
diecimilaP.bootloader.path=atmega
diecimilaP.bootloader.file=ATmegaBOOT_168_diecimila.hex
diecimilaP.bootloader.unlock_bits=0x3F
diecimilaP.bootloader.lock_bits=0x0F

diecimilaP.build.mcu=atmega168P
diecimilaP.build.f_cpu=16000000L
diecimilaP.build.core=arduino

Auszug aus der .config:

#------------------------------------------------------------
# ATmega168P
#------------------------------------------------------------

part
    id              = "m168p";
    desc            = "ATMEGA168P";
     has_debugwire = yes;
     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;
    stk500_devcode  = 0x86;
    # avr910_devcode = 0x;
    signature       = 0x1e 0x94 0x0b;
    pagel           = 0xd7;
    bs2             = 0xc2;
    chip_erase_delay = 9000;
    pgm_enable       = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
                       "x x x x x x x x x x x x x x x x";

    chip_erase       = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
                       "x x x x x x x x x x x x x x x x";

    timeout         = 200;
    stabdelay       = 100;
    cmdexedelay     = 25;
    synchloops      = 32;
    bytedelay       = 0;
    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;
    hventerstabdelay    = 100;
    progmodedelay       = 0;
    latchcycles         = 5;
    togglevtg           = 1;
    poweroffdelay       = 15;
    resetdelayms        = 1;
    resetdelayus        = 0;
    hvleavestabdelay    = 15;
    resetdelay          = 15;
    chiperasepulsewidth = 0;
    chiperasepolltimeout = 10;
    programfusepulsewidth = 0;
    programfusepolltimeout = 5;
    programlockpulsewidth = 0;
    programlockpolltimeout = 5;

    memory "eeprom"
        paged           = no;
        page_size       = 4;
        size            = 512;
        min_write_delay = 3600;
        max_write_delay = 3600;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read            = " 1 0 1 0 0 0 0 0",
                          " 0 0 0 x x x x a8",
                          " a7 a6 a5 a4 a3 a2 a1 a0",
                          " o o o o o o o o";

        write           = " 1 1 0 0 0 0 0 0",
                          " 0 0 0 x x x x a8",
                          " a7 a6 a5 a4 a3 a2 a1 a0",
                          " i i i i i i i i";

  loadpage_lo  = "  1   1   0   0      0   0   0   1",
        "  0   0   0   0      0   0   0   0",
        "  0   0   0   0      0   0  a1  a0",
        "  i   i   i   i      i   i   i   i";

  writepage  = "  1   1   0   0      0   0   1   0",
        "  0   0   x   x      x   x   x  a8",
        " a7  a6  a5  a4     a3  a2   0   0",
        "  x   x   x   x      x   x   x   x";

  mode    = 0x41;
  delay    = 5;
  blocksize  = 4;
  readsize  = 256;
        ;

    memory "flash"
        paged           = yes;
        size            = 16384;
        page_size       = 128;
        num_pages       = 128;
        min_write_delay = 4500;
        max_write_delay = 4500;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read_lo         = " 0 0 1 0 0 0 0 0",
                          " 0 0 0 a12 a11 a10 a9 a8",
                          " a7 a6 a5 a4 a3 a2 a1 a0",
                          " o o o o o o o o";

        read_hi          = " 0 0 1 0 1 0 0 0",
                           " 0 0 0 a12 a11 a10 a9 a8",
                           " a7 a6 a5 a4 a3 a2 a1 a0",
                           " o o o o o o o o";

        loadpage_lo     = " 0 1 0 0 0 0 0 0",
                          " 0 0 0 x x x x x",
                          " x x a5 a4 a3 a2 a1 a0",
                          " i i i i i i i i";

        loadpage_hi     = " 0 1 0 0 1 0 0 0",
                          " 0 0 0 x x x x x",
                          " x x a5 a4 a3 a2 a1 a0",
                          " i i i i i i i i";

        writepage       = " 0 1 0 0 1 1 0 0",
                          " 0 0 0 a12 a11 a10 a9 a8",
                          " a7 a6 x x x x x x",
                          " x x x x x x x x";

        mode        = 0x41;
        delay       = 6;
        blocksize   = 128;
        readsize    = 256;

        ;

    memory "lfuse"
        size            = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read            = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
                          "x x x x x x x x o o o o o o o o";

        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
                          "x x x x x x x x i i i i i i i i";
        ;

    memory "hfuse"
        size            = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read            = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
                          "x x x x x x x x o o o o o o o o";

        write           = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
                          "x x x x x x x x i i i i i i i i";
        ;

    memory "efuse"
        size            = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read            = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
                          "x x x x x x x x x x x x x o o o";

        write           = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
                          "x x x x x x x x x x x x x i i i";
        ;

    memory "lock"
        size            = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read            = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
                          "x x x x x x x x x x o o o o o o";

        write           = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
                          "x x x x x x x x 1 1 i i i i i i";
        ;

    memory "calibration"
        size            = 1;
        read            = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
                          "0 0 0 0 0 0 0 0 o o o o o o o o";
        ;

    memory "signature"
        size            = 3;
        read            = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
                          "x x x x x x a1 a0 o o o o o o o o";
        ;
;

Habe in den Einstellungen die ausführlichen Meldungen für den Upload aktiviert und folgendes Protokoll erhalten, nachdem ich "Bootloader installieren" ausgeführt habe:

/Applications/Arduino-1.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino-1.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pATMEGA168P -cstk500v1 -P/dev/tty.usbmodem1411 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xff:m -Uhfuse:w:0xff:m -Ulfuse:w:0xc2:m 

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino-1.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/meinName/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbmodem1411
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
         AVR Part                      : ATMEGA168P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

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

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [02] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [02] . [00] . [00] . [00] @ [40] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
################################## | 100% 0.06s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

Daraus schliesse ich einerseits, dass das verwendete avrdude.conf sich im Arduino Anwendungspaket selbst befindet und nicht dieses verwendet wird, welches ich angepasst habe. Der 168p ist in dieser Version allerdings bereits vorhanden, hier kann der Fehler also nicht gesteckt haben.
Gegen das Ende des Protokolls verrät er mir zudem, dass die entdeckte Signatur 0x000000 sein soll, die dann eben nicht mit der im .conf file übereinstimmt, was mich ein wenig skeptisch macht. Die Signatur in der .conf entsprechend zu ändern führte allerdings zur selben Fehlermeldung.

Könnte es sein, dass ich den Controller bereits bei der Montage irgendwie beschädigt habe? Überhitzt oder mit einer elektrostatischen Entladung? Irgendwo im Protokoll heisst es zwar "avrdude: AVR device initialized and ready to accept instructions", andererseits sehen die Einträge (.) nach recv., was ich als empfangene Daten interpretiere, nicht gerade nach wirklich korrekten Werten aus. Kann jemand von euch das Zeug zuverlässiger interpretieren?

hi,

hab's nie probiert, aber aus erfahrungen hier im forum aus anderen threads heißt Signatur 0x000000, daß kein oder ein defekter mikrocontroller verbaut ist.
such mal nach "signature 0x000000" hier im forum.

gruß stefan

So. Habe nun versucht, den Controller zu entfernen und dabei die Platine kaputt gemacht. Also, neue Platine geäzt, ist besser geworden, als die vorherige - perfekt eigentlich. Neuer uC drauf. Dieser ist mit ziemlicher Sicherheit unbeschädigt und korrekt eingelötet. Beim ersten Versuch, den Bootloader zu installieren verursachte die selbe Fehlermeldung allerdings nun mit device signature 0xFFFFFF, danach wieder immer mit 0x000000. Irgendwo habe ich von baudrate zu hoch oder zu niedrig was gelesen, aber diese in den boards.txt definitionen zu ändern hat nichts gebracht.
verzweifle langsam :frowning:

Das gleiche Thema hatte ich mit dem Atmega328... Du musst nicht die Board.txt editieren, sondern die Datei avrdude.conf. Diese Befindet sich im Arduino-Verzeichnis unter \hardware\tools\avr\etc

Dort gibt es etwa bei der Mitte einen Abschnitt mit dem Atmega168:

#------------------------------------------------------------
# ATmega168
#------------------------------------------------------------

part
    id              = "m168";
    desc            = "ATMEGA168";
     has_debugwire = yes;
     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;
    stk500_devcode  = 0x86;
    # avr910_devcode = 0x;
    signature       = 0x1e 0x94 0x06;

Hier musst du die Signatur anpassen, ich weiß nur nicht welche das in deinem Fall wäre :wink: Aber ich verweise dich mal auf diese Seite hier http://www.gammon.com.au/forum/?id=11635, ich denke somit könntest du mit einem Uno die Signatur auslesen.

Hi, danke für die Antwort.
Die avrdude.conf habe ich mir bereits vorgenommen. Deinen Tip habe ich beim Googlen auch angetroffen. Ich glaube aber, dass es hierbei um avrdude.conf Dateien geht, in denen die p-Version eines Chips nicht definiert ist und deshalb der Eintrag für den 168 kopiert und angepasst werden muss. Der 168p ist in meiner conf Datei definiert mit der folgenden Zeile: "signature = 0x1e 0x94 0x0b;", so wie es gemäss meinen Google Ergebnissen sein müsste. Für mehr Details siehe den Post weiter oben, wo ich den entsprechenden Auszug aus der avrdude.conf gepostet habe.

Oh, deinen Post habe ich glatt übersehen :smiley:
Also ich habe anstatt einem 328P-PU nur einen 328-PU und habe den bestehenden Eintrag geändert, das es funktioniert. Nichts weiter, auch nichts in der board.txt.

Was sagt denn das Programm von der Seite von Nick Gammon? Wird der µC denn erkannt?

Blöde Frage vieleicht, aber du hast an dem Arduino Uno einen Kondensator zwischen Reset und Ground? Wenn der fehlt kenne ich das mit der Nuller signatur

Jep, der ist dran. Geht immer wieder vergessen, aber merke ich immer wieder kurz danach :wink:
Das Programm sieht sehr interessant aus. Werde ich sicher mal laufen lassen, wenn ich wieder zu Hause bin. Allerdings habe ich das mit den alternativen Bootloadern nicht ganz kapiert oder ob und wenn ja, wie man die Fuses ändern kann. Aber ich probiers mal einfach mit einer 8MHZ Variante, wenn das geht, wäre das schon mehr als jemals zuvor :slight_smile: vielleicht lässt sich dann ja darauf aufbauen...

hm... Das Programm von Gammon sagt irgendwie nur bei jedem Reset wieder, dass es das Programm von Gammon sei, aber danach folgt nichts. Auch wenn ich die beschriebenen Befehle eingebe (obwohl ja vorher schon was angezeigt werden müsste). Allerdings verhält sich das Teil auch so, wenn ich es mit dem Prototypen verbinde, bei dem ich ja problemlos Sketches aufspielen kann...

Nun hats dann doch noch funktioniert. Offenbar war einer der 32 Pins nicht richtig angelötet, dummerweise ausgerechnet der mit dem lieblichen Übernamen Mosi. Muss wohl bei den Prüfmessungen durch den Druck der Prüfspitze verbindung hergestellt haben, weshalb ich es zunächst nicht bemerkte. Nun funktioniert alles perfekt. Vielen Dank für die Hilfe und Anteilnahme :wink:

Schachmann:
Hallo,

ich habe mir einen Arduino mit ATMEGA 168PA-PU selbst gebaut. Als Bootloader habe ich den aus dem Arduino-Softwarepaket namens "hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_diecimila.hex" verwendet. Die Lock-Bits waren Extendes 0xF8, HIGH 0xDD und LOW 0xFF. Die Fuses: Lock 0xCF und Unlock 0x3F.

Vielleicht helfen diese Einstellungen.

Gruß,
Ralf

Servus Ralf,

ich verwende genau denselben Controller und ich krieg um's verrecken den Bootloader nicht auf das Teil.
Kannst Du mir bitte die genauen Einträge Deiner boards.txt hier reinschreiben ?

L.G. Klaus