Arduino Mega als Programmer für Attiny13 funktioniert nicht

Moin,

ich versuche gerade ein Projekt zu realisieren, bei dem ich den Attiny13 brauche. Diesen möchte ich mittels Arduino Mega "flashen". Jedoch gibt es schon beim Bootloader brennen Probleme. Folgendes wird ausgegeben:

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "ATtiny13, 9.6 MHz internal osc., EEPROM retained, BOD 2.7V, Yes"

C:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\tools\avrdude\7.1-arduino.1/bin/avrdude -CC:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\hardware\avr\2.3.0/avrdude.conf -v -pattiny13a -cstk500v1 -B32 -PCOM7 -b19200 -e -Ulock:w:0xff:m -Uhfuse:w:0xeb:m -Ulfuse:w:0b00111010:m

avrdude: Version 7.1-arduino.1

     Copyright the AVRDUDE authors;

     see https://github.com/avrdudes/avrdude/blob/main/AUTHORS



     System wide configuration file is C:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\hardware\avr\2.3.0\avrdude.conf



     Using Port                    : COM7

     Using Programmer              : stk500v1

     Overriding Baud Rate          : 19200

     Setting bit clk period        : 32.0

avrdude ser_open() error: cannot open port \.\COM7: Zugriff verweigert

avrdude main() error: unable to open programmer stk500v1 on port COM7

avrdude done. Thank you.

Fehler beim Brennen des Bootloaders.

avrdude stk500_recv() error: programmer is not responding

avrdude stk500_getsync() warning: attempt 7 of 10: not in sync: resp=0x00

avrdude stk500_recv() error: programmer is not responding

avrdude stk500_getsync() warning: attempt 8 of 10: not in sync: resp=0x00

avrdude stk500_recv() error: programmer is not responding

avrdude stk500_getsync() warning: attempt 9 of 10: not in sync: resp=0x00

avrdude stk500_recv() error: programmer is not responding

avrdude stk500_getsync() warning: attempt 10 of 10: not in sync: resp=0x00

avrdude main() error: unable to open programmer stk500v1 on port COM7

avrdude done. Thank you.

Fehler beim Brennen des Bootloaders.

Kann mir jemand weiterhelfen?

How have you connected the ATtiny ? (full schematic please)
The default SPI pins on a Mega are different then on an UNO. The standard ArduinoISP sketch expects you to use the ICSP header.

Außerdem müssen Sie den Programmierer auswählen
Tools->Programmer

Auch den Sketch "Arduino as ISP" auf den Mega laden und den auch als Programmer auswählen.
Weiterhin braucht es die richtige core-Version.

Dir fehlt der 10µF Kondensator.?!?!?!

Und Oder:
Ein weiteres Programm blockiert den Programmer

Das ist die Verkabelung:
GND --> GND
VCC --> 5V
RESET --> 5
CLK --> 3
PIN 4 --> 4
SCK --> 2
MISO --> RXD (0)
MOSI --> TXD (1)

Ich probiere es vielleicht mal auf einem anderen PC.

Was ist mit "die richtige Core Version" gemeint?

Also ich habe jetzt Arduino as ISP auf den Mega geladen. Allerdings gibt es jetzt eine andere Fehlermeldung beim Bootloader brennen:

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "ATtiny13, 9.6 MHz internal osc., EEPROM retained, BOD 2.7V, Yes"

C:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\tools\avrdude\7.1-arduino.1/bin/avrdude -CC:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\hardware\avr\2.3.0/avrdude.conf -v -pattiny13a -cstk500v1 -B32 -PCOM7 -b19200 -e -Ulock:w:0xff:m -Uhfuse:w:0xeb:m -Ulfuse:w:0b00111010:m

avrdude: Version 7.1-arduino.1

     Copyright the AVRDUDE authors;

     see https://github.com/avrdudes/avrdude/blob/main/AUTHORS



     System wide configuration file is C:\Users\ChrisW\OneDrive\Dokumente\ArduinoData\packages\MicroCore\hardware\avr\2.3.0\avrdude.conf



     Using Port                    : COM7

     Using Programmer              : stk500v1

     Overriding Baud Rate          : 19200

     Setting bit clk period        : 32.0

     AVR Part                      : ATtiny13A

     Chip Erase delay              : 4000 us

     RESET disposition             : dedicated

     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     5     4    0 no         64    4      0  4000  4000 0xff 0xff

       flash                  65     6    32    0 yes      1024   32     32  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

       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          2    1      0     0     0 0x00 0x00



     Programmer Type : STK500

     Description     : Atmel STK500 version 1.x firmware

     Hardware Version: 2

     Firmware Version: 1.18

     Topcard         : Unknown

     Vtarget         : 0.0 V

     Varef           : 0.0 V

     Oscillator      : Off

     SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

avrdude: device signature = 0x000000 (retrying)

avrdude: device signature = 0x000000 (retrying)

avrdude: device signature = 0x000000

avrdude main() error: Yikes! Invalid device signature.

avrdude main() error: expected signature for ATtiny13A is 1E 90 07

    Double check connections and try again, or use -F to override

    this check.

avrdude done. Thank you.

Fehler beim Brennen des Bootloaders.

Wurde der Attiny überhaupt erkannt?

Glaube dieser Meldung:

Der Fehler ist klar:
Wenn du den Reset des Mega mit Pin 5 des Tiny verbunden hast, kann das auch nix werden...

Das wirkt nicht, do sollst denn SPI pinnen benutzen und sicherlicht nicht pin 0 und 1 weil denn von Serial benutz werden.

Nutz dieser pins fur dieser funktionen.

// 9: Heartbeat   - shows the programmer is running
// 8: Error       - Lights up if something goes wrong (use red if that makes sense)
// 7: Programming - In communication with the slave

pin 10 fur RESET.
und default pins fur SPI am MEGA sind


50 - MISO
51 - MOSI
52 - SCK
53 - SS (fur diesen kan jeder pin benutzt werden)

Wie bereits erwähnt wurde, sollten die Verbindungen von Arduino Mega mit ATtiny so sein:


  Arduino MEGA 2560  | zu progr. µC |     z.B.:      
  als ISP-Programmer |  (Ziel µC)   |   ATtiny13A
-----------------------------------------------------
     SS / CS     10 ...... Reset ...... IC-Pin 1 
IC-Pin 20 (SCK)  52 ...... SCK ........ IC-Pin 7
IC-Pin 21 (MOSI) 51 ...... MOSI ....... IC-Pin 5
IC-Pin 22 (MISO) 50 ...... MISO ....... IC-Pin 6
       GND ............... GND ........ IC-Pin 4
	   5V ................ VCC ........ IC-Pin 8
	   


        ATtiny 13
         ------
  Reset |1    8| Vcc
    PB3 |2    7| PB2, SCK
    PB4 |3    6| PB1, MISO
    GND |4    5| PB0, MOSI
         ------ 


1 Like

Wie kommt man denn nur auf solche Verkabelung.
Das passt hinten und vorn nicht. Dabei gibt es reichlich Schaltungen dazu im Netz.
Z.B Dies hier., als Eränzung zur Beschreibung von uxomm

Danke für die korrekte Belegung. Jetzt klappts. Ich hab wohl die Verkabelung von dem UNO mit dem MEGA durcheinandergebracht. Außerdem wurde in dem Tutorial andere Software verwendet...

Und was genau heißt andere Software ?
Die für dem Mega oder die, die du flashen willst ?

Ich habe meine ursprüngliche Anleitung von dieser Seite bekommen: GitHub - MCUdude/MicroCore: A light-weight Arduino hardware package for ATtiny13
Das, was ich flashen will, bin ich gerade noch dabei zu verkleinern. Bin nämlich noch bei 130% vom Attiny Speicherplatz. Vielleicht kann ich da noch was mit Port Manipulation rausholen...
Danke jedenfalls für die hilfreichen Tipps.

130 % sind ziemlich viel, aber der ATtiny13 kann täuschen. Wenn Sie Portmanipulationen durchführen, bleiben Sie dabei, wenn Sie einen DigitalWrite/Read-Stick verwenden.
Wenn Sie 32-Bit-Berechnungen verwenden (z. B. mit millis() ), prüfen Sie die Option, nur 16-Bit zu verwenden. Gleitkomma ist meiner Meinung nach einfach nichts für die 13a. Jede Wertzuweisung verwendet Flash, und wenn Sie switch/case verwenden und bestimmte Optionen durchlassen können, kann viel gespart werden. Der Verzicht auf 32-Bit-Berechnungen bedeutet jedoch eine enorme Ersparnis.

Zeigen Sie uns, was Sie vorhaben.

Wenn, wie im Eröffnungspost angedeutet, wirklich ein Bootloader auf den ATtiny geschrieben wurde, sind ja schon 25% Speicher flöten. Es ist sicher besser, diesen Controller ohne zu betreiben.

Es sei denn, es ging nur drum Fuses zu setzen. Dann habe ich nichts gesagt. :wink:

Das ist alles was passiert. Das ist ach was gemeldet wird 1 byte geschieben

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.