Go Down

Topic: Attiny13 bothloader brennen (Read 2236 times) previous topic - next topic

Gundelputz

Hallo da draussen,
habe mir heute beim Pollin einen Attiny13A gekauft und will damit eine simple LED Dimmersteuerung realisieren. leider bekomme ich den Bootloader nicht drauf.
Wo bekomme ich die Boarddatei her?

uxomm

#1
Feb 11, 2016, 09:15 pm Last Edit: Feb 11, 2016, 09:24 pm by uxomm
Was für eine IDE-Version verwendest du?
Du brauchst zuerst mal "Core-Dateien" für den ATtiny13. Welche und wie man die einbindet hängt von der IDE-Version ab.

Einen Bootloader gibt es für den ATtiny13 eigentlich nicht. Man kann mit der Arduino-IDE zwar den Befehl "Bootloader brennen" ausführen, aber dabei werden nur die Fuses gesetzt (das sind so grundsätzliche Einstellungen wie Taktrate etc.).
Aber prinzipell funktioniert es auch ohne extra Setzen von Fuses, weil es ab Werk schon eine Standardeinstellung gibt. Die Taktrate ist z.B. 1,2 MHz.
Aber um überhaupt ein Programm auf einen ATtiny zu bekommen brauchst du einen ISP-Programmer oder du kannst einen Arduino (z.B. UNO) als ISP-Programmer verwenden.

Edit:
Siehe z.B. hier http://technikhobby.blogspot.co.at/2013/01/die-kleinen-attiny-chips-im-arduino-ide.html
Das bezieht sich zwar nicht direkt auf den ATtiny13, aber der Programmiervorgang (und die Anschlüsse) sind genau gleich wie beim ATtiny85.

Bin gerade noch auf der Suche nach "Core-Dateien" für den ATtiny13A. Ich hab welche und ich verwende den ATtiny13 auch immer wieder, ich kann mich aber leider nicht mehr erinnern wo ich die her hab...  :smiley-confuse:
Always decouple electronic circuitry.

uxomm

Für IDE-Version ab 1.6.x gäbe es z.B. hier: https://github.com/Marzogh/ATtiny
ein Core für den ATtiny13(A).
Always decouple electronic circuitry.

Gundelputz

vielen Dank für die schnelle Antwort
Bin den Anleitungen gefolgt und kann jetzt den Attiny13 auswählen.
bekomme jetz aber die Fehlermeldung:
"efuse" memory type not defined for part "ATtiny13"
Fehler beim Brennen des Bootloders.

Meine gegenwertige Hard- und Softwarekonfiguration sieht wie folgt aus:
- Arduino Software 1.6.5
- Platine Arduino UNO R3
- Attiny13A

Gundelputz

habe jetzt den Kondensator zwischen Reset und GND gegen den im Beispiel gezeigten Wiederstand gewechselt und der o.g. Fehler ist weg.
Leider bekomme ich jetzt einen neuen Fehler angezeigt:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
Probleme beim Hochladen auf die Platine

Haste da ne Idee?

agmue

Ich nutze ATtiny 45, 85, 2313, 4313, aber 13A kenne ich nicht!
habe jetzt den Kondensator zwischen Reset und GND gegen den im Beispiel gezeigten Wiederstand gewechselt ...
Bei mir geht es mit Kondensator am UNO.
Haste da ne Idee?
Wenn ich auch darf: Mit "efuse" ist wohl "bootloader.extended_fuses" in boards.txt gemeint.

Hier gibt es die mit Wert 0xFF. Hier fehlt dieser Parameter, ebenso hier.

Wenn ich meine IDE auf geschwätzig stelle, bekomme ich diese Informationen (ATtiny 85 mit Blink-Sketch), mit denen Du vergleichen kannst:

Quote
Der Sketch verwendet 748 Bytes (9%) des Programmspeicherplatzes. Das Maximum sind 8.192 Bytes.
Globale Variablen verwenden 11 Bytes (2%) des dynamischen Speichers, 501 Bytes für lokale Variablen verbleiben. Das Maximum sind 512 Bytes.
C:\Program Files (x86)\Arduino165\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino165\hardware\tools\avr/etc/avrdude.conf -v -pattiny85 -cstk500v1 -PCOM6 -b19200 -Uflash:w:C:\Users\All\AppData\Local\Temp\build5257679189505670786.tmp/Blink.cpp.hex:i

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino165\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM6
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATtiny85
         Chip Erase delay              : 400000 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         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    12     4    0 no        512    4      0  4000  4500 0xff 0xff
           flash         65     6    32    0 yes      8192   64    128 30000 30000 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          2    0      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

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x1e930b
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: reading input file "C:\Users\All\AppData\Local\Temp\build5257679189505670786.tmp/Blink.cpp.hex"
avrdude: writing flash (748 bytes):

Writing | ################################################## | 100% 1.28s

avrdude: 748 bytes of flash written
avrdude: verifying flash memory against C:\Users\All\AppData\Local\Temp\build5257679189505670786.tmp/Blink.cpp.hex:
avrdude: load data flash data from input file C:\Users\All\AppData\Local\Temp\build5257679189505670786.tmp/Blink.cpp.hex:
avrdude: input file C:\Users\All\AppData\Local\Temp\build5257679189505670786.tmp/Blink.cpp.hex contains 748 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.85s

avrdude: verifying ...
avrdude: 748 bytes of flash verified

avrdude done.  Thank you.


Gundelputz

Code: [Select]
Wenn ich meine IDE auf geschwätzig stelle,
was meinst du damit?

egal was ich ausprobiere es kommt nach wie vor die Fehlermeldung:
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03

Klaus_ww

Den weggelassenen Kondensator halte ich für kritisch. Der soll ja beim Uno den Reset unterdrücken und damit den Uno-Sketch unberührt lassen. Also eher wieder draufpacken.

Bist Du auch sicher, dass die Verdrahtung stimmt?
Und dass Du den Tiny nicht schon "verfused" hast?
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Gundelputz

mit oder ohne Kondensator kein erfolg
sobald der Kondensator angeschlossen ist erhalte ich folgende Fehlermeldung:
"efuse" memory type not defined for part "ATtiny13"
ohne versucht er es 10x und brint diese Meldung:
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
mit Wiederstand die gleiche.
Bei der beschaltung habe ich nun auch schon so ziemlich jede verfügbare Beschaltung versucht. Wenn du eine absulut 100% korrekte kennst lass mich es bitte wissen.

Gundelputz

hier noch mal ein Bild von meinem Aufbau

Klaus_ww

Ich hab schon zig 13er Tinys programmiert mit meinem Uno, geht also grundsätzlich. Die Cores sind meist das Problem, also schau ich mal zuhause welche Cores mit welcher IDE Version funktionieren.

Oder klebst Du an einer speziellen IDE-Version fest?
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Klaus_ww

Deine Plus-Versorgungsschiene hängt in der Luft  :)
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Gundelputz

hier noch mal.
Muss mich jetzt mal kurz reseten
wenn die schaltung so in Ordnung ist fange ich noch mal mit neuen Bauteilen an
nicht das hier ein Teil gelitten hat

agmue

Code: [Select]
Wenn ich meine IDE auf geschwätzig stelle,
was meinst du damit?
IDE Datei/Voreinstellungen/Hochladen mit Häkchen.

uxomm

#14
Feb 12, 2016, 04:38 pm Last Edit: Feb 12, 2016, 04:41 pm by uxomm
Lass das "Bootloader uploaden" mal weg. Es geht auch ohne.

Bei mir funktioniert das so:

Arduino (UNO) als ISP-Programmer
Falls kein ISP-Programmer zur Hand ist, kann auch ein Arduino (z.B. UNO) als ISP-Programmer benutzt werden.
Damit können andere ATmegas aber auch ATtinys programmiert werden.

1. ArduinoISP-Sketch auf den Arduino (UNO) laden
Ab Arduino IDE 1.0.1 gibt es einen Beispiel-Sketch "ArduinoISP". Diesen öffnen und auf den Arduino laden (ganz normales Prozedere). Dadurch wird der Arduino (UNO) zum ISP-Programmer.

2. Arduino (= Programmer) mit dem Mikrocontroller verbinden, der programmiert werden soll

Code: [Select]
        Arduino (UNO) |  zu programmierender  |   
      ISP-Programmer  |    Mikrocontroller    |  z.B.: ATtiny 13/25/45/85
--------------------------------------------------------------------------
          D10 (SS) ............. Reset ........... IC-Pin 1
          D11 (MOSI) ........... MOSI ............ IC-Pin 5
          D12 (MISO) ........... MISO ............ IC-Pin 6
          D13 (SCK) ............ CLK ............. IC-Pin 7
          GND .................. GND ............. IC-Pin 4
          5V ................... VCC ............. IC-Pin 8


3. Programm (Sketch) für Ziel-Mikrocontroller schreiben
Unter Boards den jeweiligen µC auswählen mit der richtigen Taktrate. Für einen ATtiny13 ist das bei einem fabriksneuen Chip 1.2 MHz (in diesem Fall muss man keine Fuses setzen und braucht auch keinen "Bootloader uploaden").

4. Upload mit Programmer
Menü: Tools / Programmer / Arduino as ISP auswählen
Menü: Datei / Upload mit Programmer
(Hinweis: das Upload mit dieser Methode dauert etwas länger als gewöhnlich)

Ausser den oben erwähnten Verbindungen verwende ich nichts weiter (also keine Widerstände und auch keinen Kondensator) und das funktioniert bei mir gut (natürlich gibt es noch die USB-Verbindung vom Arduino UNO zum Computer).
Always decouple electronic circuitry.

Go Up