Guten Tag,
ich versuche mit Avrdude eine Hex Datei auf einen Mega16 zu übertragen.
Das Stk500 hängt an der Seriellen Schnittstelle ist eingeschalten und
mit dem Rechner verbunden. Die Version des dudes ist 5.0-1. Ich nutzte
Ubuntu 6.06.
1
/Avr#avrdude-pm16-cstk500-e-Uflash:w:main.hex
liefert
1
avrdude:stk500_recv():programmerisnotresponding
und
1
/Avr#avrdude-pm16-cstk500v2-e-Uflash:w:main.hex
bringt time out
1
avrdude:stk500_2_ReceiveMessage():timeout
2
avrdude:stk500_2_ReceiveMessage():timeout
3
avrdude:stk500_2_ReceiveMessage():timeout
In der Kurzanleitung für Avrdude im Tutorial steht das ein Hardware-Link
eingerichtet werden muss. Wie muss ich diese Zeilen
1
mknod/dev/parport0c990
2
chmoda+rw/dev/parport0
abändern? bzw. was könnte ich sonst noch falsch machen?
Ist mir nicht bekannt. Ich habe mir das Board gebraucht gekauft. Deshalb
hab ich die Versionen Stk500 u. Stk500v2 getestet.
Ich versuch mal Firmware zu Updaten.
Hängt er denn auch an /dev/ttyS0 dran?
Schließe mal die TxD- und RxD-Leitung von ttyS0 kurz und wiederhole
das Kommando. Dann müsstest du ja wenigstens das Echo sehen.
Ich hab die Pins Kurzgeschlossen, es ändert sich aber nichts an der
Ausgabe.
Glaube mittlerweile das es an der seriellen Schnittstelle liegt.
/ttyS0 stimmt meiner Meinung nach da ich nur eine hab. Ich Versuch mal
mehr über die sS heraus zu finden.
Vielen Dank Jörg, für deine Hilfe und für die vielen Beiträge die du im
zusammenhang mit avrdude schon geleistet hast!
> Glaube mittlerweile das es an der seriellen Schnittstelle liegt.
Ich auch. ;-)
Guck dir mal die Bootmeldungen an (sollten in /var/log/messages
mit aufgezeichnet werden), was er über die seriösen Schnittstellen
so alles sagt.
Als User darfst du eventuell nicht auf die schnittstelle schreiben ??
Zumindest ist man wenn ich mich recht erinnere von hause aus in einer
entsprechenden Gruppe.
probier mal
sudo avrdude -p m16 -c stk500v2 -e -vvvv -U flash:w:main.hex
> In der Kurzanleitung für Avrdude im Tutorial steht das ein Hardware-Link> eingerichtet werden muss.
Der parport hat damit mal garnichts zu tun.
Und was Christian schreibt, ist korrekt. Am besten konfigurierst Du sudo
so, dass Du kein Passwort benoetigst dann kannst Du es so z.B. in
Makefiles verwenden, so mache ich es. Du kannst auch die Permission des
devices aendern aber das empfehle ich eher weniger, das macht man
eigentlich nicht.
Michael
Michael G. wrote:
> Du kannst auch die Permission des> devices aendern aber das empfehle ich eher weniger, das macht man> eigentlich nicht.
Warum ,,macht man das eigentlich nicht''? Es gab auch eine Welt
vor sudo, und device permissions, insbesondere group permissions,
sind für solche Dinge (u.a.) da. Für serielle Geräte hat sich die
Gruppe uucp durchgesetzt, deren Mitglied man sein muss, um darauf
zugreifen zu können. Für parport müsste man halt was Ähnliches
machen oder auch gleich die Gruppe uucp mit benutzen.
Im Gegenteil, das ist sogar der weit sauberere Weg als sudo: sudo
lässt den Prozess (also avrdude) ja mit root-Rechten laufen, damit
kann er viel mehr Unfug anstellen (insbesondere auch im Falle von
Bugs) als mit einem auf den Nutzer gezielt eingerichteten device
node und einem Prozess, der ansonsten mit normalen Nutzerrechten
läuft.
Hast Du an deinen Rechner eine SerielleSchnittstelle oder über
USB-Adapter?
Versuch einfach mal ein paar Devices durch (ttyS0, ttyS1...), die in
Frage kommen mit:
avrdude -p m16 -c stk500 -P /dev/tty.PL2303-0000207D
tty.PL2303-0000207D ist mein USB-Adapter, die Bezeichnung wechselt aber
wenn er an einem anderen USB-Port steckt.
Wenn dein stk500 die Version 2 drauf hat, dann gibt dir avrdude einen
hinweis, dass Du stk500v2 bitte benützen sollst.
Wenn Du keine schreibrechte auf das Device hast, dann mit chmod ändern,
sudo benützen oder gleich als root anmelden.
viel erfolg
Hallo!
Ich habe ein ähnliches Problem mit AVRDude. Versuche momentan den
AT90CAN64 mit dem STK500 + STK501 zu programmieren.
AVRDude liefert jedoch immer die Meldung:
Das STK500 hängt an einem USB-RS232 Adapter...RW-Zugriff auf die
Schnittstelle habe ich, und wenn ich die Schnittstelle kurzschließe
bekomm ich ein Echo.
Kann mir vielleicht jemand weiterhelfen?! Benötige ich ein
Firmware-Update für diesem uC bzw. das STK501?!
"avrisp" mit "stk500" ersetzen bringt btw auch nix (das war mein erster
Versuch)
Gruß
Florian
Florian wrote:
> Das STK500 ...
...ist kein AVRISP.
Hast du mal stk500v2 probiert?
Was mich wundert ist, dass "stk500" eigentlich zuerst die
Protokollversion 1 und danach 2 probieren sollte.
Hast du noch andere Programme offen, die auf deinen Seriellen Port
zugreifen? -> alle schließen!
Ich hatte gestern auch solche Timeouts bis ich gemerkt habe dass mein
minicom noch lief... Danach gings ohne Probleme.
ähmmm.....ned wirklich....habe das ganz neu, und das ist auch der erste
uC, den ich damit versuche zu programmieren....
Hab nur mal mit dem Multimeter gemessen, ob auch Versorgungsspannung
beim uC ankommt...
Aber ob auch sonstige Leiterbahnen / ICs o.ä. ok sind, weiß i ned...
Das hat nichts mit der Verbindung zwischen dem Programmierteil des
STKs und dem Controller zu tun. Bereits die Kommunikation mit dem
Programmierteil selbst funktioniert nicht, diese muss man aber selbst
ganz ohne eingesteckten Controller (bzw. dem STK501) aufbauen können.
Hast du noch irgendwo einen Hardware-RS-232-Port zur Verfügung? Nicht
dass dein USB-Dongle keine 115200 Bd kann...
Es wäre übrigens sinnvoller gewesen, dafür einen neuen Thread
aufzumachen. Hat ja mit dem Originalthema kaum noch was gemein.
Ok...dachte das passt noch zum Originalthema, weil es hier ja auch
anfangs darum ging, dass man beim versuch mit AVRDude ein timeout
bekommt....Sorry!
Hab hier im Büro einen Rechner mit einer Hardware-RS232 Schnittstelle.
Allerdings gibt es da keinen Unterschied. Habe auch schon geguckt, ob
die Schnittstellen (Am STK und der USB-Adapter) die Pegel richtig
setzen. Zumindest die Rx und Tx Pegel sind bei beiden richtig, die
Handshakes konnte ich leider noch nicht überprüfen...
Jops. So schlau war ich ;)
Hab auch schon mehrfach die ganzen Jumper überprüft, ob ich die alle
richtig gesetzt habe...Kann ja immer mal sein, dass man sich da
vertut...
Es kommen auch definitiv Daten an, und auch mit der richtigen Bd-Rate.
Hab das grad nochmal mit nem Scope überprüft. Werde mich jetz mal an
Reichelt wenden und schauen, ob man es reklamieren kann...
Florian wrote:
> Es kommen auch definitiv Daten an, und auch mit der richtigen Bd-Rate.
Gemessen wo?
> Hab das grad nochmal mit nem Scope überprüft. Werde mich jetz mal an> Reichelt wenden und schauen, ob man es reklamieren kann...
Wenn du vor dem Einschalten den PROGRAM-Taster drückst, kannst du
dann den Bootloader ansprechen? Der hört auf avr910-Protokoll.
Gemessen am RS232-Port des STK500 mit nem Tastkopf (Lötkontakte auf der
Unterseite der Platine). An Tx sieht man jede Menge Daten mit 115,2 kBd
ankommen, während Rx nichts von sich gibt...
Zum Bootloader: Nein, den kann ich nicht ansprechen...selbes Problem:
"programmer is not responding"...
Hey!
Die Pins der beiden ICs konnte ich leider nicht mehr testen...als ich
das gelesen hab, war das Paket schon auf dem Weg zurück zu Reichelt...
Hab jetzt ein neues STK500 und mir ist auch direkt ein Unterschied
aufgefallen:
Bei meinem alten hat die Status-LED nie geleuchtet...nun tut sies...
Florian wrote:
> Bei meinem alten hat die Status-LED nie geleuchtet...nun tut sies...
Dann war wohl was grundlegend im Eimer, vermutlich die Takterzeugung.
>stk500_2_ReceiveMessage(): timeout
hatte ähnliches Problem wie Thread-Ersteller.
Es lag am Rx/Rx - Tx/Tx Kabel. Echo testen bringt da nicht
weiter, das es ja ankommt. Es bleibt eigentlich Durchgangsmesser
zum Testen.
Gruß