Hallo zusammen, ich arbeite gerade mit dem Avr-CDC Projekt und versuche für einen Mega8 die Sache zum laufen zu bekommen. Der mitgelieferte hex-file funktioniert bestens, würde aber gerne am Code rumfummeln und n paar Funktionen mehr reinmachen. Habe dazu das mitgelieferte C-Projekt geöffnet, bearbeitet und für Mega8 kompiliert. Doch mit dem erstellten hex-file wird das USB-Gerät nicht erkannt. Hab ich was übersehen? Fuses stimmen denk ich, sonst würde es ja mit dem vorkompilierten hex-file für Mega8 nicht funktionieren.
Du sagst nichts über Deine Erfahrung im Programmieren allgemein, mit ATMegas, C oder Deine Kenntnisse von USB. Gehen wir mal davon aus, das es daran nicht liegt: Schau Dir doch mal den Speicherbedarf des alten Programmes und des neuen an. Welche Unterschiede siehst Du da. Was meinst Du, was die Ursache ist? Hast Du eine Vermutung? Was hast Du bisher untersucht?
Es kommt immer die Meldung "USB-Gerät nicht erkannt". Ich habe zuerst nur das Projekt avrcdcio.aps geöffnet und das Projekt kompiliert ohne was daran zu verändern (außer in den Projekteinstellungen Device=Atmega8 und ClockSpeed=12000000hz, da die Projekteinstellungen für Atmega48 waren). Dann ging es schon nicht... Die hexfiles kann ich gerade leider nicht vergleichen, da die auf meinem PC zuhause liegen, überprüf ich aber mal. Hab auch einen "fliegenden Aufbau" aufm Steckbrett, vielleicht wackelt da noch was...
Aha.
Wie hast Du den Takt verändert? Wie war er vorher, wie nachher? Wegen
des Bittimings, ist der absolut kritisch bei diesen
Soft-USB-Implementierungen.
Es gab nie Fehlermeldungen oder Warnings?
Die Schaltung musste / musste nicht wg. dem ATMega8 angepasst oder
sonstwie verändert werden? Evtl. Ports geändert?
Was ist jetzt mit dem Speicherbedarf?
Du schriebst doch:
> Der mitgelieferte hex-file funktioniert bestens
Hat es nun einmal funktioniert oder nicht? Wann, wo, wie, womit?
P.S.
Wenn ich mir noch die Bemerkung erlauben darf:
Für solche Folgen von Nullen hat irgendein schlauer Mensch mal Prefixe
erfunden. k = 000, M = 000000
12000000hz läßt sich als 12MHz viel übersichtlicher darstellen und
erspart dem Rat Gebenden die elende Nullenzählerei.
Alternativ könnte man auch Dezimalpunkte setzen 12.000.000 Hz.
Hallo Andreas, ich habe auch schon 4 Module auf einer eigen entworfenen Platine mit atMega8 und atMega48 aufgebaut und sie funktionieren gut. Da ich erst die Vcc=3,3V Variante aufbaute und dann auf Vcc=5V umstellt, sind noch einige kleine Änderungen an der USB Beschaltung notwendig. Zur Kontrolle deines Aufbaus hier meine beiden Schaltpläne. Ich verwende den avr-gcc (GCC) 4.3.4 unter Linux mit einem angepassten Makefile. In "avr-gcc-log.txt" findest Du einen Compilerlauf für den atMega8 bei 12MHz Quarztakt. Ich habe des weiteren noch die aktuelle V-USB Libs vom 2010-07-15 verwendet, wobei dann die "usbconfig.h" noch angepasst werden muss. Siehe Anhang. Eine HEX-Datei für atMega8 und 12MHz ist im Anhang. .
Danke Uwe, ich kontrollier bei mir mal alles nach und vergleich die Schaltungen. Ich arbeite auch mit ner deutlich älteren avr-gcc, kann sein, dass da noch was im argen liegt. Meld mich wieder, wenn ich alles ausgetestet hab. @Huch: auf 6 wirste ja wohl noch zählen können
Andreas schrieb: > @Huch: auf 6 wirste ja wohl noch zählen können Nun, du willst ja was von uns. Warum mavhst Du es uns dann nicht leichter. Aber gut, wie Du meinst.
Sorry Huch, wollte dir nicht auf den schlips treten, aber möglichst genau wiedergeben, was ich in den einstellungen zum projekt eingetragen habe...
Also, ich habe das vorkompilierte file cdcio8.hex auf den controller geflasht und es funktioniert. wenn ich es aus dem projekt raus selbst kompiliere, dann erkennt der PC das USB-Gerät nicht.
Hallo Andreas, und die Datei atmega8.hex.gz von mir, geht die auch ? Gibt es so ein Logfile, wie das was ich angehängt habe, dann sehen wir weiter. Ich denke Du solltest uns deinen Compiler, OS und die weiteren Tools nennen, vielleicht kommen wir dann auch weiter.
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.