Hallo liebes Forum,
Ich habe mir das myAVR Board light (
http://shop.myavr.de/index.php?sp=article.sp.php&artID=200017 ) bestellt
und zusammengelötet. In der FH haben wir an einem Win-Rechner ein
Programm aufgespielt, welches auf meiner LCD-Anzeige (extra Bauteil)
auch etwas ausgibt. Das Board klappt also :)
Jetzt zum Problem. Zu Hause habe ich ein Ubuntu aufgespielt und bekomme
den C-Code nicht auf den Controller geschrieben. Ich hoffe, mir kann von
euch jemand helfen - es scheint an einem kleinen Detail zu scheitern.
Was ich gemacht habe:
Folgende Pakte sind installiert:
o gcc-avr
o binutils-avr
o avr-libc
o avrdude
Mein Benutzer ist in der Gruppe dialout
Programme in hex-Dateien übersetzen klappt auch ohne Probleme. Nur das
Verschieben bereitet große Probleme.
1. Versuch: avrdude
Mit avrdude habe ich mit folgendem Befehl versucht zu überspielen.
Den Output mit Parameter -vv hab ich euch in den Anhang gepackt.
Ich hab schon ein paar Kombinationen und Parameter ausprobiert,
beschäftige mich auch erst seit kurzem mit Microcontrollern...
2. Versuch: Win7 in VM-Ware Player mit AVR-Studio 4 und AVR MyProgTool.
Die Fehlermeldung hab ich gerade nicht hier (falls wichtig, probier ich
das nochmal). Ich meine der Fehler war, dass der Programmer nicht
antwortet.
3. Versuch: RP6Loader
Dieses Programm hat mir ein Freund empfohlen. Es ist ein graphisches
Tool, erkennt auch den richtigen USB-Port etc. Doch beim Upload kommt
folgende Fehlermeldung:
... Kabel ist definitv dran, der Microcontroller ist an und gibt auf der
LCD-Anzeige auch den Testtext an.
So. Nach dem vielen Rumprobiere hoffe ich, dass ihr mir hier vielleicht
den entscheidenden Tipp geben könnt.
Flo schrieb:> Den Output mit Parameter -vv hab ich euch in den Anhang gepackt.
Sieht irgendwie nur wie die Hälfte aus. Beendet sich AVRDUDE danach,
oder was passiert dann? Eigentlich müsste da noch mehr kommen.
Die Informationen dazu, was myAVR tut, sind recht spärlich. Einen
Tipp habe ich noch gefunden, das wäre die Benutzung der Option
-x no_blockmode
bei AVRDUDE.
Hi Jörg,
danke für deine Antwort!
Jörg Wunsch schrieb:> Sieht irgendwie nur wie die Hälfte aus. Beendet sich AVRDUDE danach,> oder was passiert dann? Eigentlich müsste da noch mehr kommen.
Habe mir das nochmal angeschaut. Natürlich habe ich die Fehlermeldung
versehentlich rausgeschnitten ;) Hier der Nachtrag:
avrdude braucht 1,2 Sekunden und beendet sich dann mit dieser Meldung.
Jörg Wunsch schrieb:> Die Informationen dazu, was myAVR tut, sind recht spärlich. Einen> Tipp habe ich noch gefunden, das wäre die Benutzung der Option>> -x no_blockmode
Habe ich mal probiert:
Der Usb Anschluss ist nur ein serieller Anschluss, der den
vorinstallierten Bootloader anspricht. Mit Avrdude etc wirst Du hier
nichts, so wie ich das sehe. Eventuell hast Du den Bootloader gekillt.
Also: Atmel AVRISP MKII kaufen, ISP-Stecker nachbestücken und Programm
auf diese Weise flashen.
Und ja, ich empfehle als Programmer nur das Original. Die Tools vom
Chiphersteller sind nicht die billigsten, aber meist die
unproblematischten und die mit dem besten Support.
fchk
Flo schrieb:> avrdude: WARNING: Programmer doesn't support extended parameters, -x option(s)
ignored
Dann probier' mal -c avr910 statt -c avr911.
> Mit den Tools vom Chiphersteller wär unter Ubuntu nicht viel zu reissen
AVRISPmkII funktioniert mit AVRDUDE problemlos.
Hi,
Frank K. schrieb:> Eventuell hast Du den Bootloader gekillt.
Der Bootloader klappt noch. Haben gerade von einer anderen Maschine ein
Programm aufgespielt und das alte wurde ersetzt...
Frank K. schrieb:> Also: Atmel AVRISP MKII kaufen, ISP-Stecker nachbestücken und Programm> auf diese Weise flashen.
Das möchte ich vermeiden. Ein Freund von mir programmiert auch per
Ubuntu über den USB-Anschluss. Der ist momentan aber nicht für mich
erreichbar...
Jörg Wunsch schrieb:> Dann probier' mal -c avr910 statt -c avr911.
Hier bekomme ich die selbe Meldung..
1
avrdude:ser_recv():programmerisnotresponding
2
avrdude:avr910_recv():programmerisnotresponding
Das ist ein wahres Dilemma.. Vielleicht habt ihr ja noch eine Idee, ich
probier währenddessen mal weiter auf der VM mit dem myAVR Programmer das
Überspielen hinzubekommen... :/
Meisel schrieb:>> AVRISPmkII funktioniert mit AVRDUDE problemlos.>> Und ist Opensource, nicht vom Chiphersteller. Das wollte ich damit> ausdrücken.
Die Aussage war aber "Die Tools vom Chiphersteller sind nicht die
billigsten, aber meist die unproblematischten und die mit dem besten
Support." Damit ist eigentlich klar, dass sich "Tools" hier auf die
Programmierhardware bezieht.
Flo schrieb:> Hier bekomme ich die selbe Meldung..> avrdude: ser_recv(): programmer is not responding> avrdude: avr910_recv(): programmer is not responding
Sorry, dann musst du myAVR selbst fragen. Wenn das Teil nicht
antwortet, dann kann ich dir auf AVRDUDE-Seite nicht weiterhelfen.
usuru schrieb:> 1. Hast du die libusb eingespielt?> 2. Gib mal im Terminal lsusb ein, ist der Programmer zu sehen?
zu 1: Nein! Hab ich jetzt nachinstalliert mit
1
apt-get install libusb-1.0-0
zu 2: output:
1
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
4
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
5
Bus 001 Device 003: ID 04f2:b1e5 Chicony Electronics Co., Ltd
6
Bus 002 Device 008: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Hallo kurzer Zwischenstand,
unter der VM funktioniert es inzwischen. Ich habe vergessen den
USB-Treiber zu installieren...
Unter Linux stehe ich weiterhin auf dem Schlauch. Das Wochenende treffe
ich mich mit einem Freund, wenn wir das hinbekommen, werde ich euch das
wissen lassen mit Lösungsweg.
Der Tipp von Jahib ist wichtig.
> Ich sehe keinen Programmer dort.
Da isser, bzw die USB to UART Bridge
> Bus 002 Device 008: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x
Composite Device
Da gibt es einen Bugreport in Oneiric Ozelot zu, wo ein anderes Programm
sich das Gerät schnappt:
https://bugs.launchpad.net/ubuntu/+source/brltty/+bug/874181
Bus 002 Device 008: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x Composite Device
Jahat Iblis schrieb:> es müsste also der> vorinstallierte propäritäre myAVR-Bootloader durch den 109er-kompatiblen> ersetzt werden
Ach, das ist der Dreh! Warum auch immer sie nicht einfach einen
Bootloader vorinstallieren können, der zu einem der bekannten
Protokolle kompitabel ist (wenn ihnen das AVR109 zu dünn ist, geht
ja auch STK500). Das verstehe, wer will.
Also, wenn ich recht verstehe...
muss ich mir erst einen ISP-Adapter anlöten und darüber einen neuen
Bootloader installieren. Anschließend kann ich mit avrdude oder
rp6loader über die USB Buchse den AVR flashen.
Ich danke für die Lösung! :) In Anbetracht dessen, dass ich jetzt
erstmal üben muss damit ich das nächste Praktikum bestehe, bleibe ich
bei der Lösung erstmal über die VM zu flashen. ;)
Super Forum :) Danke!
Hallo zusammen,
inzwischen habe ich eine Lösung gefunden, ganz ohne ISP Adapter oder so
einen Quatsch ;)
Man kann die Programme mit einem beliebigen C-Editor schreiben und mit
dem AVR-GCC kompilieren lassen. Devkid hat ein Skript geschrieben, um
einen AVR mit einer binary zu flashen. Falls ihr also eine HEX generiert
habt, müsst ihr diese erst in eine .bin umwandeln. Das geht mit
folgendem Befehl:
1
avr-objcopy-Iihex-Obinary<namederhex>code.bin
Habt ihr nun die Binary könnt ihr ein Python-Skript ausführen um den AVR
zu flashen.