Forum: Mikrocontroller und Digitale Elektronik Programmiersoftware für AVR109 Bootloader auf ATmega16


von Markus Schaub (Gast)


Lesenswert?

Hallo,

Ich habe einen ATmega16 mit Bootloader nach der AVR109 Appnote. Ich war
eigentlich der Meinung, dass der mit avrdude zusammenarbeitet. Tut er
aber in der aktuellen Version nicht. Einigen Hinweisen aus dem Web
zufolge soll die CVS-Version von avrdude damit funktionieren. Aber auch
damit lässt sich der Controller nicht programmieren. Gibt es für Linux
eine brauchbare Lösung? Ich könnte auch mit einem beliebigen anderen
Bootloader leben, aber die Software auf der PC-Seite sollte
einigermassen verbreitet sein.

Gruß,
Markus

von Sebel De Tutti (Gast)


Lesenswert?

Kenne mich mit diesem Problem nicht aus, aber in der Manpage von
avrdude steht:

     The device IDs used by AVR910 and AVR109 do not match, so the
avr109
     (aka. butterfly) programmer might report
           selected device is not supported by programmer.
     Use the -F option to force avrdude to contiue anyway.

Hat das damit etwas zu tun?

von Markus Schaub (Gast)


Lesenswert?

Ohne die -F Option verweigert avrdude mit der Hardware vollständig den
Dienst. Mit der Option schlägt allerdings das Schreiben fehl.

Ich werde jetzt aber mal die Bootloader von
http://www.siwawi.arubi.uni-kl.de/avr_projects/#avrprog_boot und
http://www.matwei.de/doku.php?id=de:elektronik:usbisp
probieren. Zumindest letztere braucht allerdings deutlich mehr Platz.

Gruß,
 Markus

von Klaus Leidinger (Gast)


Lesenswert?

Markus,

Sebel hat das richtig erkannt.

Der avr910_devcode für den Mega16 im Bootloader Mode ist 0x75, in der
avrdude.conf ist dafür der vom Mega16 im AVR910 Mode eingetragen
(0x74). Wenn Du das in der avrdude.conf änderst, sollte es klappen.
Also Eintrag in avrdude.conf:
#------------------------------------------------------------
# ATmega16
#------------------------------------------------------------

part
    id               = "m16";
    desc             = "ATMEGA16";
    has_jtag         = yes;
    stk500_devcode   = 0x82;
    avr910_devcode   = 0x75;
....                     ^^^^
....

HTH,
Klaus

von Markus Schaub (Gast)


Lesenswert?

Ich habe jetzt den eigentlichen Fehler gefunden: Die BOOTSZ-Bits waren
nicht richtig gesetzt. Dadurch hat der Controller den Bootloader zwar
ausgeführt, konnte aber nicht schreiben.

Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.