Hi, ich habe mir einen AT90USB162 auf eine Platine gelötet und versuche jetzt, mit dem internen Bootloader zu kommunizieren. Ich habe die Platine schonmal an einen Windows Rechner angeschlossen, da wurde sofort der AT90USB162 erkannt und Windows hat versucht, einen Treiber zu installieren. Mangels Java kann ich Flip aber unter Windows nicht testen. ich kann auch via ISP auf den Controller zugreifen. Soweit scheint also alles zu funktionieren. Jetzt versuche ich das unter Linux. Der Controller wird wohl auch erkannt. lsusb liefert mir > Bus 002 Device 009: ID 03eb:2ffa Atmel Corp. Die Schaltung sollte also völlig korrekt sein und funktionieren, sonst würde die ID nicht erkannt werden. Wenn ich jetzt Flip starte und versuche, eine USB Verbindung zu öffnen, sagt er mir in der Konsole > AtLibUsbDfu: 3EB 2FFA no device present. Ich habe jetzt nach der Anleitung im Elektronik-Projekt.de Wiki versucht, für udev eine Datei anzulegen, weil ich weiß, dass ohne diese Datei ein AVRISP mkII nur als Root funktioniert http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avrdude#ubuntudebian_und_opensuse Ich hab diese Zeile eingetragen > ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", GROUP="plugdev", MODE="0660" So langsam weiß ich nicht mehr weiter. Ach ja, ich habe natürlich einen Taster nach GND an HWB und an den Fusebits habe ich nichts verstellt sondern hab die Werkseinstellungen unverändert gelassen. Einen Chip Erase habe ich auch nicht ausgeführt. Ich habe lediglich mit avrdude zum Testen den Inhalt des Flash via ISP gelesen. Der Bootloader sollte also noch drin sein und funktionieren. Könnt ihr mir weiterhelfen? Bin mit meinem Latein am Ende
Ah ja, Flip gibt es jetzt wohl auch für Linux... Ich hatte unter Linux stets dfu-programmer verwendet: http://dfu-programmer.sourceforge.net/
@Jones ist der angemeldete Benutzer auch Mitglied der Gruppe plugdev ? Test auf der Konsole mit: groups
Servus, unabhaengig von deinem Problem: Bist Du dir sicher, dass der AT90 unterstuetzt wird? Soweit ich weis, lassen sich mit FLIP ausschl. die 8051er programieren. Gruss, rweber
Ja, der User ist Mitglied von plugdev. Ich habe auch mal versucht, Flip als Root zu starten. Aber man muss zwei Variablen mit export anlegen, nur gibt es unter Root anscheinend den Export Befehl nicht. Ich verwende im übrigen Ubuntu 9.04
Jones schrieb: > Ja, der User ist Mitglied von plugdev. > > Ich habe auch mal versucht, Flip als Root zu starten. Aber man muss zwei > Variablen mit export anlegen, nur gibt es unter Root anscheinend den > Export Befehl nicht. > > Ich verwende im übrigen Ubuntu 9.04 Kommt auf die verwendete Shell an. csh/tcsh: setenv VARIABLE=wert bash/ksh: export VARIABLE=wert sh: VARIABLE=wert; export VARIABLE Findet lsusb den Adapter?
export - klein geschrieben - gibt es auch für root. (Systembefehl) Das flip-Programm ist so klein das Du es ja schnell noch mal zum Test im root Homeverzeichnis installieren kannst. Mit eigenen Variablen. Beobachte mal die Konsolen Ausgabe von ./flip.sh im Hintergrund. Für mehr Infos gibt es noch die Möglichkeit: strace ./flip.sh Dann sollte das Problem zu sehen sein...
Verwende die Standard Shell, glaube bash. Als User gibt es den export Befehl ja auch, sonst könnte ich Flip gar nicht starten. Nur als Root geht es nicht. lsusb findet ihn, siehe erster Post Ich kann mir jetzt nur noch vorstellen, dass der Bootloader nie vorhanden war oder avrdude ihn irgendwie gelöscht hat, als ich das Flash gelesen habe. Einen Chip Erase hab ich wie gesagt nie absichtlich durchgeführt
@ hp-freund: wenn ich sudo export eingebe kommt
> sudo: export: command not found
Habe gerade mal mit sudo su eine root Shell erstellt. Dann geht export.
Werd das nachher mal so probieren, ob das was ändert
Dann vergleich den Bootloader doch mal über ISP oder flash einen neuen: http://www.atmel.com/dyn/products/product_card.asp?PN=AT90USB162 -> AT90USB162 USB Bootloader v1.0.5
ja, will ich heute Abend probieren. Sitze gerade im Büro. Aber sollte der Bootloader nicht ab Werk vorhanden sein? Gibts da irgend welche Revisionen, wo es da Fehler gab?
Sollte er: "The 8bits mega AVR with USB interface devices are factory configured with a USB bootloader located in the on-chip flash boot section of the controller." Auf Fehler ab Werk würde ich erst ganz zuletzt tippen ;) Na dann... ...einen schönen Bürotag ... hp-freund
Jones schrieb: > @ hp-freund: wenn ich sudo export eingebe kommt > >> sudo: export: command not found > > Habe gerade mal mit sudo su eine root Shell erstellt. Dann geht export. > Werd das nachher mal so probieren, ob das was ändert Das kann so nicht funktionieren. export ist ein shell built in Kommando. Wenn du "sudo export" tippst dann will der sudo ein Binary namens export in deinem Suchpfad ausfuehren, das gibt es aber nicht. Der richtige Weg zu einer Root shell ist "su - root" oder alternativ ein sudo /bin/bash
Das ist im Moment nicht mein primäres Problem. Viel mehr habe ich inzwischen Probleme, überhaupt Verbindung mit dem Controller aufzunehmen. Ich habe wohl den Bootloader gelöscht und ich bekomme den nicht mehr zum laufen. Ich habe von der Atmel Homepage den Bootloader runtergeladen (v1.0.5) und versuche den jetzt, mittels AVR Studio wieder zum Laufen zu bringen. Bisher leider ohne Erfolg. Muss man da etwas bestimmtes beachten?
Das hört sich nach fuse bits an. Geh das am Besten der Reihe nach durch. Besonders Bootloader und ext. Quarz beachten...
Fuse Bits hab ich durch. Habs mit den Standard Einstellungen im Datenblatt verglichen. Vier mal. Hab zwischendurch mal, probiert, die CDC Demo zum Laufen zu kriegen. Die hat auch wieder funktioniert. Aber der Bootloader rührt sich nicht.
>einen AT90USB162 auf eine Platine gelötet Es gab ja mal jemanden, der USB mit dem internen Oszillator, also ohne Quarz, nutzen wollte. Das geht so gut wie nie. Sonst evtl. mal eines dieser billigen Olimex Boards mit AT90USB162 besorgen und damit testen? Vielleicht hast Du die USB-Leitungen nicht gut aufgebaut? Hast du die 22 Ohm Widerstände drin? Ist schon seltsam wie viele Leute doch mit selbst gelöteten AT90USBs Probleme haben. Hast Du dich halbwegs an die Soll-Impedanzen gehalten? Wobei das wohl eher für High-Speed kritisch wird... http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf
>Ist schon seltsam Das wird dir wohl auch nicht helfen, da ging es eher um den AT90USB1287. Aber kannst Du dir ja mal ansehen. Beitrag "AT90USB Bootloader schützen"
Naja, löten kann ich denke ich. Hab die Platine hier verwendet http://shop.embedit.de/product__794.php 22 Ohm sind drin. USB ansich ging ja wie gesagt. Ich konnte ja unter Linux die ID lesen und unter Windows wollte er nen Treiber installieren. Richtig in Schwierigkeiten kam ich erst, als ich einen Chip Erase gemacht habe.
>Naja, löten kann ich denke ich.
Na so ganz eindeutig ist das nicht immer. Bei meiner ersten Platine für
den AT90USB1287, Bus-Powered, hatte ich massive Probleme mit längeren
USB-Kabeln. Übertragungsfehler, auch mit USB-Bootloader usw. Mit Kabeln
kürzer als 2m ging es aber. War ein dümmlicher Fehler von mir, ich hatte
legiglich einen 100 nF Stützkondensator für die Versorgungsspannung
verwendet. Später mit einem 1uF Kondensator lief alles perfekt.
Aber zu deinem Problem: Ich kann dir leider nicht wirklich helfen. Aber
probiere doch mal dfu-programmer aus. Oder den Lufa-Bootloader. Ich
weiß, das kostet alles viel Zeit, aber so ist das Leben eben. Sonst von
Olimex kaufen, da kann man sich dann beschweren.
Dow
> Habs mit den Standard Einstellungen im Datenblatt verglichen.
Welche sind das?
BOOTRST z.B. steht default auf StartAddr 0x0000
Am besten Du machst mal Screenshots von alles fuses.
Das hat mich auch gewundert. Ich habe aber auch schon verschiedene andere Einstellungen probiert. Kann es sein, dass ab Werk nicht nur der Bootloader sondern auch eine "Demo Application" im Controller liegt? Und sei es nur ein Jump in den Bootloader an Adresse 0x0000? Wie schon gesagt, vor dem Chip Erase hat der Controller zumindest Lebenszeichen von sich gegeben.
Der Bootloader liegt an Word Addr 0x1800. Byte Addr: 0x3000. Das ist default BOOTSZ0=0,BOOTSZ1=0 passt also. CKSEL3..1 muß auch angepasst werden. BOOTRST muß "0" sein. Also Du mußt wirklich alle fuses durchgehen und möglichst auch verstehen. Die Standard Einstellungen aus dem Datenblatt passen also nicht. Das Problem hatten auch andere schon: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=472800
Ich werde heute ein zweites IC opfern und mir den Originalzustand genau anschauen. Ich bin mir aber sicher, dass die Default Werte im Datenblatt stimmen. Hm, ich sollte vielleicht mal den Quarz tauschen. Könnte ne Ursache sein fällt mir gerade ein. Ist nämlich ein älterer aus einer Wühlkiste. Wobei mich das trotzdem wundern würde, weil es bis zum Chip Erase eigentlich immer funktioniert hat.
So, fragt mich nicht warum, aber ich hab es jetzt wieder hinbekommen. Jetzt habe ich drei Platinen am Laufen. Ich weiß nicht, was ich bisher falsch gemacht habe. Elektrisch habe ich nichts geändert. Ich habe allerdings das AVR Studio upgedated auf 4.17 weil ich irgendwo gelesen habe, dass irgendwelche Files nicht stimmen sollen. Möglich, dass es der Grund war. Jetzt kann ich mich endlich um die anderen Probleme kümmern
Ok, da kann ich lange probieren > The need for this tool came about when I needed to flash an at89c51snd1c chip that had the USB bootloader on it, but the Atmel provided tool (FLIP) didn't support USB flashing in linux. http://dfu-programmer.sourceforge.net/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.